246 lines
10 KiB
YAML
246 lines
10 KiB
YAML
stages:
|
|
- images
|
|
- build
|
|
- release
|
|
- deploy
|
|
|
|
Build Docker Images:
|
|
stage: images
|
|
when: manual
|
|
only:
|
|
- master
|
|
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
|
|
# Needed because we aren't using our custom runners here
|
|
services:
|
|
- docker:dind
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2375
|
|
parallel:
|
|
matrix:
|
|
- DISTRO:
|
|
- debian11
|
|
- ubuntu20
|
|
- ubuntu22
|
|
- mint20
|
|
- mint21
|
|
- fedora35
|
|
- fedora36
|
|
- tumbleweed
|
|
- 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
|
|
- fedora35
|
|
- fedora36
|
|
- tumbleweed
|
|
- macos-x86_64
|
|
- macos-aarch64
|
|
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
|
|
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/$FILEVER/$1"
|
|
}
|
|
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.fc35.x86_64.rpm
|
|
upload_package librewolf-$FILEVER.fc35.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.tumbleweed.x86_64.rpm
|
|
upload_package librewolf-$FILEVER.tumbleweed.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
|
|
release:
|
|
tag_name: "$FILEVER"
|
|
description: "## LibreWolf bsys5 Release v$FILEVER\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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb.sha256sum
|
|
- name: Ubuntu 22 (deb)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum
|
|
- name: Linux Mint 21 (deb)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb
|
|
- name: Linux Mint 21 (sha256sum)
|
|
link_type: other
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb.sha256sum
|
|
- name: Fedora 35 (rpm)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm
|
|
- name: Fedora 35 (sha256sum)
|
|
link_type: other
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm.sha256sum
|
|
- name: Fedora 36 (rpm)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm
|
|
- name: Fedora 36 (sha256sum)
|
|
link_type: other
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm.sha256sum
|
|
- name: openSUSE Tumbleweed (rpm)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm
|
|
- name: openSUSE Tumbleweed (sha256sum)
|
|
link_type: other
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm.sha256sum
|
|
- name: macOS x86_64 (dmg)
|
|
link_type: package
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.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/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg
|
|
- name: macOS aarch64 (sha256sum)
|
|
link_type: other
|
|
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
|
|
|
|
Update Repositories:
|
|
stage: deploy
|
|
only:
|
|
- master
|
|
except:
|
|
- merge_requests
|
|
image: curlimages/curl
|
|
script:
|
|
- |
|
|
#
|
|
FILEVER=$(cat version)-$(cat source_release) ; grep -q 1 release ; if [ ! $? ]; then FILEVER=$(cat version)-$(cat source_release)-$(cat release); fi
|
|
|
|
curl "https://shorsh.de/update_lw_repos.php?version=$FILEVER&log=false&token=$REPO_DEPLOY_TOKEN"
|
|
|
|
echo "Submitted update request to live LibreWolf repositories"
|
|
|
|
body=$(cat <<EOF
|
|
{
|
|
"token": "$REPO_DEPLOY_TOKEN",
|
|
"debs": [
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
|
|
"distros": ["bullseye"]
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb",
|
|
"distros": ["focal"]
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb",
|
|
"distros": ["jammy"]
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb",
|
|
"distros": ["uma", "una"]
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb",
|
|
"distros": ["vanessa"]
|
|
}
|
|
],
|
|
"rpms": [
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm"
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm"
|
|
},
|
|
{
|
|
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm"
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
)
|
|
|
|
id=$(curl "https://kho.librewolf.net/job" --request POST --data "$body")
|
|
|
|
echo "Submitted update request to testing LibreWolf repository (https://kho.librewolf.net/job?id=$id)"
|