diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 972c8d23ad2650d965a17561be2de42e32e31b38..26d23e1779daafb74daa7d9e579a940fc67cfe80 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,12 @@ -image: durcheinander/export-apkgs:1.0.0 +image: durcheinander/pack-build:1.0.0 stages: - build - release +- notify build: + image: durcheinander/export-apkgs:1.0.0 stage: build rules: - if: $CI_PIPELINE_SOURCE == "schedule" @@ -92,6 +94,7 @@ release-package-json-version-as-git-tag: - if: $CI_COMMIT_BRANCH == "main" # we don't need anything in node_modules or python, so don't fetch the cache cache: [] + resource_group: repository script: - NPM_VERSION=$(grep '"version":' package.json -m 1 | cut -d '"' -f 4) # || exit_code=$? is the recommended way to ignore a non-zero exit code @@ -116,8 +119,6 @@ create-gitlab-release: needs: - job: build artifacts: true - - job: changelog - artifacts: true - job: release-notes artifacts: true variables: @@ -135,3 +136,22 @@ create-gitlab-release: links: - name: 'Browse all APKGS…' url: '$ARTIFACTS_URL' + +send-release-notes-to-group: + stage: notify + resource_group: whatsapp + rules: + - if: $CI_COMMIT_TAG + needs: + - job: release-notes + artifacts: true + variables: + # we just need the artifacts and don't need up-to-date source, so don't even fetch + GIT_STRATEGY: none + MUDSLIDE_CACHE_FOLDER: './mudslide_cache' + cache: + - mudslide_cache + script: + - mkdir -p mudslide_cache + - mudslide login + - mudslide send $WHATSAPP_RELEASE_NOTIFY_RECIPIENT "$(cat RELEASE_NOTES.md)" diff --git a/pack-build/Dockerfile b/pack-build/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..9b6c82ad814440d04eac723e260dd5f394bb7ff8 --- /dev/null +++ b/pack-build/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:12.4 + +RUN apt-get update && apt-get install -y \ +faketime \ +git \ +make \ +nodejs \ +npm \ +pipenv \ +python3 \ +python3-pip \ +zip \ +curl +RUN npm install --global \ +yarn \ +mudslide