bsys5/.gitlab-ci.yml

246 lines
10 KiB
YAML
Raw Normal View History

2022-02-11 07:21:04 +01:00
stages:
2022-05-12 23:08:04 +02:00
- images
- build
- release
2022-02-14 14:21:23 +01:00
- deploy
2022-02-11 07:21:04 +01:00
2022-05-12 23:08:04 +02:00
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
2022-05-12 23:08:04 +02:00
services:
- docker:dind
variables:
DOCKER_HOST: tcp://docker:2375
2022-05-12 23:08:04 +02:00
parallel:
matrix:
- DISTRO:
- debian11
- ubuntu20
- ubuntu22
- mint20
2022-08-07 21:19:44 +02:00
- mint21
2022-05-12 23:08:04 +02:00
- fedora35
- fedora36
2022-07-21 22:38:47 +02:00
- tumbleweed
2022-05-12 23:08:04 +02:00
- macos-x86_64
- macos-aarch64
- dind
2022-05-12 23:08:04 +02:00
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
2022-02-11 07:21:04 +01:00
Build:
stage: build
when: manual
allow_failure: false
parallel:
matrix:
- DISTRO:
- debian11
- ubuntu20
2022-04-21 19:36:06 +02:00
- ubuntu22
2022-02-11 07:21:04 +01:00
- mint20
2022-08-07 21:19:44 +02:00
- mint21
2022-02-11 07:21:04 +01:00
- fedora35
2022-05-10 22:13:44 +02:00
- fedora36
2022-07-21 22:38:47 +02:00
- tumbleweed
2022-02-11 07:21:04 +01:00
- macos-x86_64
- macos-aarch64
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
2022-02-11 07:21:04 +01:00
tags:
2022-06-09 22:57:23 +02:00
- autoscale
2022-02-11 07:21:04 +01:00
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
2022-05-10 22:13:44 +02:00
- "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"
2022-02-11 07:21:04 +01:00
artifacts:
paths:
- librewolf-*.deb
- librewolf-*.deb.sha256sum
- librewolf-*.rpm
- librewolf-*.rpm.sha256sum
- librewolf-*.dmg
- librewolf-*.dmg.sha256sum
reports:
dotenv: variables.env
2022-02-14 10:33:18 +01:00
Release:
stage: release
when: manual
allow_failure: false
image: ubuntu
needs:
- job: "Build"
artifacts: true
only:
- master
2022-02-14 10:33:18 +01:00
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" \
2022-02-14 17:54:17 +01:00
--upload-file "$1" \
2022-05-06 20:34:19 +02:00
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1"
2022-02-14 10:33:18 +01:00
}
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
2022-08-07 21:19:44 +02:00
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
2022-05-10 22:13:44 +02:00
upload_package librewolf-$FILEVER.fc36.x86_64.rpm
upload_package librewolf-$FILEVER.fc36.x86_64.rpm.sha256sum
2022-07-21 22:38:47 +02:00
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
2022-02-14 10:33:18 +01:00
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))"
2022-02-14 10:33:18 +01:00
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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-04-21 19:36:06 +02:00
- 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
2022-04-21 19:36:06 +02:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-08-07 21:19:44 +02:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-05-10 22:13:44 +02:00
- 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
2022-07-21 22:38:47 +02:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 10:33:18 +01:00
- 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
2022-02-14 14:21:23 +01:00
Update Repositories:
stage: deploy
2022-04-13 15:14:16 +02:00
only:
- master
except:
- merge_requests
2022-07-03 14:05:36 +02:00
image: curlimages/curl
2022-02-14 14:21:23 +01:00
script:
2022-07-03 14:05:36 +02:00
- |
#
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"
2022-07-05 17:08:07 +02:00
body=$(cat <<EOF
{
"token": "$REPO_DEPLOY_TOKEN",
"debs": [
2022-07-03 14:05:36 +02:00
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
"distros": ["bullseye"]
2022-07-03 14:05:36 +02:00
},
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb",
"distros": ["focal"]
2022-07-03 14:05:36 +02:00
},
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb",
"distros": ["jammy"]
2022-07-03 14:05:36 +02:00
},
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb",
"distros": ["uma", "una"]
2022-08-07 21:19:44 +02:00
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb",
"distros": ["vanessa"]
2022-07-03 14:05:36 +02:00
}
],
2022-07-05 17:08:07 +02:00
"rpms": [
2022-07-03 14:05:36 +02:00
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm"
2022-07-03 14:05:36 +02:00
},
{
2022-07-05 17:08:07 +02:00
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm"
2022-07-21 22:38:47 +02:00
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm"
2022-07-03 14:05:36 +02:00
}
]
2022-07-05 17:08:07 +02:00
}
EOF
)
2022-07-03 14:05:36 +02:00
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)"