bsys5/.gitlab-ci.yml

165 lines
7.4 KiB
YAML

stages:
- build
- release
- deploy
Build:
stage: build
when: manual
allow_failure: false
parallel:
matrix:
- DISTRO:
- debian11
- ubuntu20
- ubuntu21
- ubuntu22
- mint20
- fedora34
- fedora35
- macos-x86_64
- macos-aarch64
variables:
SOURCE_URL: $SOURCE_URL
use_docker: "false"
image: librewolf/bsys5-image-$DISTRO
tags:
- amd64
# Build on dedicated runner
- dedicated
except:
- merge_requests
script:
- make $DISTRO
- echo VERSION=$(cat version) >> variables.env
- echo RELEASE=$(cat release) >> variables.env
artifacts:
paths:
- librewolf-*.deb
- librewolf-*.deb.sha256sum
- librewolf-*.rpm
- librewolf-*.rpm.sha256sum
- librewolf-*.dmg
- librewolf-*.dmg.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:
- |
function upload_package() {
curl \
--header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "$1" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/$1"
}
upload_package librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb
upload_package librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu22.x86_64.deb
upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu22.x86_64.deb.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb
upload_package librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb.sha256sum
upload_package librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm
upload_package librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm.sha256sum
upload_package librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm
upload_package librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg
upload_package librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg.sha256sum
upload_package librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg
upload_package librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg.sha256sum
release:
tag_name: "$VERSION-$RELEASE"
description: "## LibreWolf bsys5 Release v$VERSION-$RELEASE\n\n- \n\n(Built on GitLab by pipeline [$CI_PIPELINE_ID](https://gitlab.com/librewolf-community/browser/bsys5/-/pipelines/$CI_PIPELINE_ID))"
assets:
links:
- name: Debian 11 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb
- name: Debian 11 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb.sha256sum
- name: Ubuntu 20 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb
- name: Ubuntu 20 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb.sha256sum
- name: Ubuntu 21 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb
- name: Ubuntu 21 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb.sha256sum
- name: Ubuntu 22 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu22.x86_64.deb
- name: Ubuntu 22 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu22.x86_64.deb.sha256sum
- name: Linux Mint 20 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb
- name: Linux Mint 20 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb.sha256sum
- name: Fedora 34 (rpm)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm
- name: Fedora 34 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm.sha256sum
- name: Fedora 35 (rpm)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm
- name: Fedora 35 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm.sha256sum
- name: macOS x86_64 (dmg)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg
- name: macOS x86_64 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg.sha256sum
- name: macOS aarch64 (dmg)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg
- name: macOS aarch64 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg.sha256sum
Update Repositories:
stage: deploy
needs:
- job: "Build"
- job: "Release"
only:
- master
except:
- merge_requests
image: ubuntu
before_script:
- apt-get update
- apt-get install -y curl
script:
- curl "https://shorsh.de/update_lw_repos.php?version=$(cat version)-$(cat release)&log=true&token=$REPO_DEPLOY_TOKEN"