Skip to content
Snippets Groups Projects
Commit f215e9c2 authored by Tim Kreuzer's avatar Tim Kreuzer
Browse files

Resolve "add changelog + releases in ci cd pipeline"

Closes #1

See merge request !3


Changelog: added
parents 0004f118 45769d3b
Branches main
No related tags found
1 merge request!3Resolve "add changelog + releases in ci cd pipeline"
stages: stages:
- pypi - prepare-release
- release
workflow: workflow:
rules: rules:
...@@ -7,13 +8,71 @@ workflow: ...@@ -7,13 +8,71 @@ workflow:
- when: never - when: never
pypi: pypi:
stage: pypi stage: release
image: image:
name: python:3.11-alpine3.18 name: python:alpine
before_script: before_script:
- pip install twine build - pip install twine build
script: script:
- python -m build - python -m build
- twine upload -u __token__ -p ${PYPI_JUPYTERJSC_TOKEN} dist/* - twine upload -u __token__ -p ${PYPI_JUPYTERJSC_TOKEN} dist/*
rules: rules:
- if: $CI_COMMIT_TAG - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/'
testpypi:
stage: release
image:
name: python:alpine
before_script:
- pip install twine build
script:
- python -m build
- twine upload --repository testpypi -u __token__ -p ${TESTPYPI_JUPYTERJSC_TOKEN} dist/*
rules:
- if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+(-.+)$/'
###
#
# Prepare release notes
#
###
prepare_job:
stage: prepare-release
image: alpine:latest
rules:
- if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/'
script:
- apk add curl jq
- 'curl -H "PRIVATE-TOKEN: $CI_API_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/changelog?version=$CI_COMMIT_TAG" | jq -r .notes > release_notes.md'
- 'curl -H "PRIVATE-TOKEN: $CI_API_TOKEN" -X POST "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/changelog?version=$CI_COMMIT_TAG"'
artifacts:
paths:
- release_notes.md
###
#
# Create release
#
###
release_job:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
needs:
- job: prepare_job
artifacts: true
rules:
- if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/'
script:
- echo "Creating release"
release:
name: 'Release $CI_COMMIT_TAG'
description: release_notes.md
tag_name: '$CI_COMMIT_TAG'
ref: '$CI_COMMIT_SHA'
assets:
links:
- name: 'jupyterhub-outpostspawner python package $CI_COMMIT_TAG'
url: "https://pypi.org/project/jupyterhub-outpostspawner/${CI_COMMIT_TAG}/"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment