(feat): merge nix flakes
(fix): workflows
This commit is contained in:
parent
74b152969b
commit
6df912f428
11 changed files with 324 additions and 460 deletions
|
|
@ -13,29 +13,20 @@ jobs:
|
|||
- name: Check out repo
|
||||
uses: https://data.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Install Packages
|
||||
run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm
|
||||
|
||||
- name: Install Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
run: nix develop .#electron --command bun install --frozen-lockfile
|
||||
|
||||
- name: Copy licenses
|
||||
run: bun run copy-licenses
|
||||
run: nix develop .#electron --command bun run copy-licenses
|
||||
|
||||
- name: Build packages
|
||||
run: bun run build:packages
|
||||
run: nix develop .#electron --command bun run build:packages
|
||||
|
||||
- name: Build web
|
||||
run: bun run build:web
|
||||
|
||||
- name: Install rsync
|
||||
run: apt-get update && apt-get install -y rsync
|
||||
run: nix develop .#electron --command bun run build:web
|
||||
|
||||
- name: Deploy
|
||||
run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/
|
||||
run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/
|
||||
|
||||
build-mobile:
|
||||
runs-on: nixos
|
||||
|
|
@ -43,20 +34,14 @@ jobs:
|
|||
- name: Check out repo
|
||||
uses: https://data.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Install Packages
|
||||
run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm
|
||||
|
||||
- name: Install Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
run: nix develop .#tauri --command bun install --frozen-lockfile
|
||||
|
||||
- name: Copy licenses
|
||||
run: bun run copy-licenses
|
||||
run: nix develop .#tauri --command bun run copy-licenses
|
||||
|
||||
- name: Build packages
|
||||
run: bun run build:packages
|
||||
run: nix develop .#tauri --command bun run build:packages
|
||||
|
||||
- name: Setup Android Keystore
|
||||
env:
|
||||
|
|
@ -113,7 +98,7 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Build mobile
|
||||
run: bun run build:mobile
|
||||
run: nix develop .#tauri --command bun run build:mobile
|
||||
|
||||
- name: Upload mobile artifact
|
||||
uses: https://data.forgejo.org/actions/upload-artifact@v3
|
||||
|
|
@ -130,23 +115,19 @@ jobs:
|
|||
- name: Check out repo
|
||||
uses: https://data.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Install Packages
|
||||
run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm xz-utils
|
||||
|
||||
- name: Install Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
run: nix develop .#electron --command bun install --frozen-lockfile
|
||||
|
||||
- name: Copy licenses
|
||||
run: bun run copy-licenses
|
||||
run: nix develop .#electron --command bun run copy-licenses
|
||||
|
||||
- name: Build packages
|
||||
run: bun run build:packages
|
||||
run: nix develop .#electron --command bun run build:packages
|
||||
|
||||
- name: Set Electron prod version
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -euo pipefail
|
||||
VERSION="$(node -p "require('./package.json').version")"
|
||||
export VERSION
|
||||
node -e '
|
||||
|
|
@ -156,9 +137,10 @@ jobs:
|
|||
pkg.version = process.env.VERSION;
|
||||
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + "\n");
|
||||
'
|
||||
EOF
|
||||
|
||||
- name: Build Electron desktop
|
||||
run: bun run build:desktop
|
||||
run: nix develop .#electron --command bun run build:desktop
|
||||
|
||||
- name: Upload desktop artifacts
|
||||
uses: https://data.forgejo.org/actions/upload-artifact@v3
|
||||
|
|
@ -173,14 +155,8 @@ jobs:
|
|||
- name: Check out repo
|
||||
uses: https://data.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Install Packages
|
||||
run: apt-get update && apt-get install -y sudo curl jq
|
||||
|
||||
- name: Install Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
run: nix develop .#electron --command bun install --frozen-lockfile
|
||||
|
||||
- name: Download mobile artifact
|
||||
uses: https://data.forgejo.org/actions/download-artifact@v3
|
||||
|
|
@ -197,18 +173,24 @@ jobs:
|
|||
- name: Read version
|
||||
id: version
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -euo pipefail
|
||||
VERSION="$(node -p "require('./package.json').version")"
|
||||
echo "version=$VERSION" >> "$FORGEJO_OUTPUT"
|
||||
echo "tag=$VERSION" >> "$FORGEJO_OUTPUT"
|
||||
EOF
|
||||
|
||||
- name: Copy releases
|
||||
env:
|
||||
TENSAMIN_RELEASE_VERSION: ${{ steps.version.outputs.tag }}
|
||||
TENSAMIN_RELEASE_TAG: ${{ steps.version.outputs.tag }}
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -euo pipefail
|
||||
ASSET_BASE_URL="${{ forgejo.api_url }}"
|
||||
ASSET_BASE_URL="${ASSET_BASE_URL%/api/v1}/${{ forgejo.repository }}/releases/download/${{ steps.version.outputs.tag }}"
|
||||
FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" bun --bun run copy-releases
|
||||
EOF
|
||||
|
||||
- name: Create release and upload files
|
||||
env:
|
||||
|
|
@ -218,6 +200,7 @@ jobs:
|
|||
SHA: ${{ forgejo.sha }}
|
||||
TAG: ${{ steps.version.outputs.tag }}
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -eu
|
||||
|
||||
test -d releases
|
||||
|
|
@ -271,6 +254,7 @@ jobs:
|
|||
-H "Authorization: token $TOKEN" \
|
||||
-F "attachment=@$file"
|
||||
done
|
||||
EOF
|
||||
|
||||
- name: Delete dev releases
|
||||
env:
|
||||
|
|
@ -278,6 +262,7 @@ jobs:
|
|||
API: ${{ forgejo.api_url }}
|
||||
REPO: ${{ forgejo.repository }}
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -eu
|
||||
|
||||
PAGE=1
|
||||
|
|
@ -308,11 +293,13 @@ jobs:
|
|||
-H "Authorization: token $TOKEN" \
|
||||
"$API/repos/$REPO/releases/$release_id"
|
||||
done < "$DELETE_RELEASES"
|
||||
EOF
|
||||
|
||||
- name: Update root flake release hash
|
||||
env:
|
||||
TAG: ${{ steps.version.outputs.tag }}
|
||||
run: |
|
||||
nix develop .#electron --command bash <<'EOF'
|
||||
set -eu
|
||||
|
||||
DEB="$(find releases -maxdepth 1 -type f -name 'Tensamin-*-linux-amd64.deb' -print -quit)"
|
||||
|
|
@ -361,3 +348,4 @@ jobs:
|
|||
git add flake.nix
|
||||
git -c user.name="forgejo-actions" -c user.email="forgejo-actions@localhost" commit -m "(qol): update release flake hash"
|
||||
git push origin HEAD:dev
|
||||
EOF
|
||||
|
|
|
|||
Loading…
Reference in a new issue