fime/.gitlab-ci.yml

52 lines
1.2 KiB
YAML
Raw Normal View History

image: python:3.10
2022-09-21 21:53:45 +00:00
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
2022-09-21 21:58:23 +00:00
PIPENV_VENV_IN_PROJECT: 1
2022-09-21 21:53:45 +00:00
2022-09-27 16:29:07 +00:00
stages:
- build
- deploy
- release
2022-09-21 21:53:45 +00:00
cache:
paths:
- .cache/pip
2022-09-21 21:58:23 +00:00
- .venv/
2022-09-21 21:53:45 +00:00
2022-09-27 16:29:07 +00:00
package_linux:
2022-09-21 21:53:45 +00:00
stage: build
2022-09-27 16:29:07 +00:00
before_script:
2022-09-21 21:53:45 +00:00
- python --version
2022-09-27 16:29:07 +00:00
- pip install pipenv
2022-09-21 21:56:18 +00:00
- pipenv sync --dev
2022-09-27 16:29:07 +00:00
script:
2022-09-27 16:34:15 +00:00
- VERSION=$(pipenv run python -m setuptools_scm)
2022-09-27 16:50:35 +00:00
- echo $VERSION | tee version.txt
2022-09-27 16:34:15 +00:00
- pipenv run python -m build -w
2022-09-27 16:50:35 +00:00
- pipenv run pyinstaller --onefile --strip --name fime_linux_${VERSION} src/fime/main.py
2022-09-21 21:53:45 +00:00
artifacts:
paths:
2022-09-27 16:50:35 +00:00
- version.txt
2022-09-21 21:53:45 +00:00
- dist/*.whl
2022-09-27 16:50:35 +00:00
- dist/fime_linux_*
upload:
image: curlimages/curl:latest
stage: deploy
script:
- VERSION=$(cat version.txt)
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file dist/fime_linux_${VERSION} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fime/${VERSION}/fime_linux_${VERSION}"'
2022-09-21 22:10:31 +00:00
release_job:
2022-09-27 16:29:07 +00:00
stage: release
2022-09-21 22:10:31 +00:00
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- echo "Running the release job."
release:
tag_name: $CI_COMMIT_TAG
name: 'Release $CI_COMMIT_TAG'
description: 'Release created using the release-cli.'