diff --git a/.gitea/workflows/linux.yaml b/.gitea/workflows/linux.yaml index a2387bd..a8aab9b 100644 --- a/.gitea/workflows/linux.yaml +++ b/.gitea/workflows/linux.yaml @@ -20,17 +20,46 @@ jobs: uses: actions/setup-node@v6 with: node-version: '22' + + - name: Cache npm dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: ${{ runner.os }}-linux-npm-${{ hashFiles('**/package.json') }} + restore-keys: | + ${{ runner.os }}-linux-npm- + if-no-files-found: ignore + + - name: Cache electron-builder + uses: actions/cache@v5 + with: + path: | + ~/.cache/electron + key: ${{ runner.os }}-linux-electron-builder-${{ hashFiles('**/electron-builder.yml') }} + restore-keys: | + ${{ runner.os }}-linux-electron-builder- + if-no-files-found: ignore + + - name: NPM offline setup + run: | + npm config set cache ~/.npm --global + npm config set prefer-offline true --global + - name: Install npm dependencies run: npm install --no-audit --no-fund + - name: Build the application run: npm run kernel:linux + - name: Check if files exist run: | echo "=== Checking dist structure ===" find dist/builds -type f -name "*.AppImage" 2>/dev/null || echo "No AppImage files found" ls -la dist/builds/linux/ 2>/dev/null || echo "linux folder not found" + - name: Install SCP in Docker container run: apt-get install -y openssh-client + - name: Upload x64 to SSH using SCP uses: appleboy/scp-action@master with: @@ -39,8 +68,10 @@ jobs: password: ${{ secrets.SDU_SSH_PASSWORD }} port: 22 source: "dist/builds/linux/x64/Rosetta-*.AppImage" - target: "${{ secrets.SDU_SSH_KERNEL }}/linux/x64/" + target: "${{ secrets.SDU_SSH_KERNEL }}/linux/x64" + strip_components: 4 rm: true + - name: Upload arm64 to SSH using SCP uses: appleboy/scp-action@master with: @@ -49,5 +80,6 @@ jobs: password: ${{ secrets.SDU_SSH_PASSWORD }} port: 22 source: "dist/builds/linux/arm64/Rosetta-*.AppImage" - target: "${{ secrets.SDU_SSH_KERNEL }}/linux/arm64/" + target: "${{ secrets.SDU_SSH_KERNEL }}/linux/arm64" + strip_components: 4 rm: true \ No newline at end of file