From 85b3658066b1246fc248a55e19aa8e3804e9098a Mon Sep 17 00:00:00 2001 From: partisan Date: Wed, 12 Feb 2025 13:37:52 +0000 Subject: [PATCH] Add .forgejo/workflow/Luncher_Windows-AMD64-Nightly.yaml --- .../Luncher_Windows-AMD64-Nightly.yaml | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .forgejo/workflow/Luncher_Windows-AMD64-Nightly.yaml diff --git a/.forgejo/workflow/Luncher_Windows-AMD64-Nightly.yaml b/.forgejo/workflow/Luncher_Windows-AMD64-Nightly.yaml new file mode 100644 index 0000000..d7b8424 --- /dev/null +++ b/.forgejo/workflow/Luncher_Windows-AMD64-Nightly.yaml @@ -0,0 +1,106 @@ +name: Build Luncher for Windows/AMD64/Nightly + +on: + push: + +jobs: + build-windows: + runs-on: win-10 + + steps: + - name: Clone upload-test repo + shell: bash + run: | + git clone https://weforge.xyz/Spitfire/Publisher.git + + - name: Clone and Build Spitfire Luncher + shell: bash + run: | + git clone https://weforge.xyz/Spitfire/Luncher.git + cd Luncher + CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o spitfire-luncher.exe + mv spitfire-luncher.exe .. + + - name: Setup SSH Key for SourceForge + shell: bash + env: + SF_SSH_KEY: ${{ secrets.SF_SSH_KEY }} + run: | + echo "$SF_SSH_KEY" | sed 's/\\n/\n/g' | tr -d '\r' > sf_key + chmod 600 sf_key + + - name: Download existing APPINDEX + shell: bash + env: + SF_USER: ${{ secrets.SF_USER }} + run: | + scp -i sf_key -o IdentitiesOnly=yes \ + "$SF_USER@frs.sourceforge.net:/home/frs/project/spitfire-browser/APPINDEX" \ + APPINDEX || true + + - name: Compress artifact + shell: bash + run: | + tar -czf spitfire-luncher-amd64-nightly-windows.tar.gz spitfire-luncher.exe + ls -l + + - name: Prepare installer folder structure and move artifact + shell: bash + run: | + # Compute current date (e.g. 2025.02.11) + DATE=$(date +'%Y.%m.%d') + # Create a separate packaging folder "upload" to avoid conflicts with the cloned repo folder. + mkdir -p upload/luncher/amd64/nightly/$DATE + mv spitfire-luncher-amd64-nightly-windows.tar.gz upload/luncher/amd64/nightly/$DATE/ + # Save the date for later steps. + echo "$DATE" > date.txt + + - name: Upload installer artifact to SourceForge + shell: bash + env: + SF_USER: ${{ secrets.SF_USER }} + run: | + # Read the date from file (if needed later) + DATE=$(cat date.txt) + # Upload the entire packaging folder recursively. + scp -r -i sf_key -o IdentitiesOnly=yes upload/luncher "$SF_USER@frs.sourceforge.net:/home/frs/project/spitfire-browser/" + + - name: Update APPINDEX + shell: bash + run: | + DATE=$(cat date.txt) + cd upload-test + cp ../APPINDEX . || true + go run update_appindex.go \ + --name "spitfire-luncher" \ + --release "nightly" \ + --version "$DATE" \ + --arch "amd64" \ + --description "Nightly build" \ + --url "https://spitfirebrowser.xyz/" \ + --license "AGPL-3.0" \ + --origin "luncher" \ + --maintainer "Internet Addict" \ + --dependencies "" \ + --platform "windows" \ + --icon "https://weforge.xyz/Spitfire/Branding/raw/branch/main/active/browser/icon.svg" \ + --screenshots "https://spitfirebrowser.xyz/static/images/screenshots/1.png" \ + --tags "browser,experimental,testing" \ + --notes "Automated build of Spitfire" \ + --remotePath "luncher/amd64/nightly/$DATE/spitfire-luncher-amd64-nightly-windows.tar.gz" \ + --compressedFile "spitfire-luncher-amd64-nightly-windows.tar.gz" \ + --uncompressedFile "spitfire-luncher.exe" + cp APPINDEX ../ + + - name: Upload updated APPINDEX + shell: bash + env: + SF_USER: ${{ secrets.SF_USER }} + run: | + scp -i sf_key -o IdentitiesOnly=yes APPINDEX "$SF_USER@frs.sourceforge.net:/home/frs/project/spitfire-browser/APPINDEX" + + - name: Cleanup SSH Key + if: always() + shell: bash + run: | + rm -f sf_key