stages: - images - build - release # Notes; we want short labes so we can see what is what, and # allow image builds on all branches because don't wan to # deal with them on the master branch Images: stage: images when: manual image: registry.gitlab.com/librewolf-community/browser/bsys5/dind tags: [autoscale] parallel: matrix: - DISTRO: - debian11 - ubuntu20 - ubuntu22 - mint20 - mint21 - fedora37 - fedora36 - macos-x86_64 - macos-aarch64 - dind script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com - make docker-$DISTRO - docker push registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO:latest Build: stage: build when: manual allow_failure: false parallel: matrix: - DISTRO: - debian11 - ubuntu20 - ubuntu22 - mint20 - mint21 - fedora37 - fedora36 - macos-x86_64 - macos-aarch64 - windows image: registry.gitlab.com/librewolf-community/browser/bsys5/dind tags: - autoscale except: - merge_requests script: - make $DISTRO - echo VERSION=$(cat version) >> variables.env - echo RELEASE=$(cat release) >> variables.env - echo SOURCE_RELEASE=$(cat source_release) >> variables.env - "t=$(cat version)-$(cat source_release) ; grep 1 release ; if [ ! $? ]; then t=$(cat version)-$(cat source_release)-$(cat release); fi; echo FILEVER=$t >> variables.env" artifacts: paths: - librewolf-*.deb - librewolf-*.deb.sha256sum - librewolf-*.rpm - librewolf-*.rpm.sha256sum - librewolf-*.dmg - librewolf-*.dmg.sha256sum - librewolf-*-setup.exe - librewolf-*-setup.exe.sha256sum - librewolf-*-portable.zip - librewolf-*-portable.zip.sha256sum reports: dotenv: variables.env Release: stage: release when: manual allow_failure: false image: ubuntu needs: - job: "Build" artifacts: true only: - master except: - merge_requests before_script: - apt-get update - apt-get install -y curl - curl -L --output /usr/local/bin/release-cli "https://release-cli-downloads.s3.amazonaws.com/latest/release-cli-linux-amd64" - chmod +x /usr/local/bin/release-cli script: - | codeberg_release_body="" function upload_package() { echo "Uploading $1" curl \ --header "JOB-TOKEN: $CI_JOB_TOKEN" \ --upload-file "$1" \ "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1" codeberg_release_body="${codeberg_release_body}[$1]($CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1)\n" } upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb upload_package librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.mint21.x86_64.deb upload_package librewolf-$FILEVER.en-US.mint21.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.fc37.x86_64.rpm upload_package librewolf-$FILEVER.fc37.x86_64.rpm.sha256sum upload_package librewolf-$FILEVER.fc36.x86_64.rpm upload_package librewolf-$FILEVER.fc36.x86_64.rpm.sha256sum upload_package librewolf-$FILEVER.en-US.mac.x86_64.dmg upload_package librewolf-$FILEVER.en-US.mac.x86_64.dmg.sha256sum upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum echo "Creating Codeberg release" curl -X 'POST' \ "https://codeberg.org/api/v1/repos/librewolf/bsys5/releases?token=$CODEBERG_TOKEN" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d "{ \"name\": \"$FILEVER\", \"tag_name\": \"$FILEVER\", \"body\": \"$codeberg_release_body\" }" - | body=$(cat <