85 lines
3.0 KiB
YAML
85 lines
3.0 KiB
YAML
stages:
|
|
- test
|
|
- package
|
|
- release
|
|
|
|
# Run the tests only on commits, never on tags for now this just builds the
|
|
# release archives to make sure that works
|
|
test:
|
|
stage: test
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH
|
|
image: alpine:3
|
|
before_script:
|
|
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
|
|
- apk add xz 7zip make
|
|
script:
|
|
- make
|
|
|
|
# Build the release archives and keep them forever as an artifact. Only runs on
|
|
# tag pushes
|
|
package:
|
|
stage: package
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
image: alpine:3
|
|
before_script:
|
|
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
|
|
- apk add xz 7zip make
|
|
script:
|
|
- make
|
|
image: alpine:3
|
|
before_script:
|
|
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
|
|
- apk add xz 7zip make
|
|
script:
|
|
- make
|
|
artifacts:
|
|
expire_in: never
|
|
paths:
|
|
- release/LibFreeMedia-embed.tar.gz
|
|
- release/LibFreeMedia-embed.tar.xz
|
|
- release/LibFreeMedia-embed.zip
|
|
- release/LibFreeMedia-standalone.tar.gz
|
|
- release/LibFreeMedia-standalone.tar.xz
|
|
- release/LibFreeMedia-standalone.zip
|
|
reports:
|
|
dotenv: package.env
|
|
|
|
# Create a release with the previously generated artifacts. Only runs on tag
|
|
# pushes
|
|
release:
|
|
stage: release
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
|
script:
|
|
- echo 'Creating release'
|
|
needs:
|
|
- job: package
|
|
artifacts: true
|
|
release:
|
|
tag_name: $CI_COMMIT_TAG
|
|
name: 'LibFreeMedia $CI_COMMIT_TAG'
|
|
description: 'LibFreeMedia $CI_COMMIT_TAG'
|
|
assets:
|
|
links:
|
|
- name: 'LibFreeMedia embedable release'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.zip'
|
|
filepath: '/archive/freemedia-embed-zip'
|
|
- name: 'LibFreeMedia embedable release (tar.xz archive)'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.tar.xz'
|
|
filepath: '/archive/freemedia-embed-tarxz'
|
|
- name: 'LibFreeMedia embedable release (tar.gz archive)'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.tar.gz'
|
|
filepath: '/archive/freemedia-embed-targz'
|
|
- name: 'LibFreeMedia standalone addon'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.zip'
|
|
filepath: '/archive/freemedia-standalone-zip'
|
|
- name: 'LibFreeMedia standalone addon (tar.xz archive)'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.tar.xz'
|
|
filepath: '/archive/freemedia-standalone-tarxz'
|
|
- name: 'LibFreeMedia standalone addon (tar.gz archive)'
|
|
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.tar.gz'
|
|
filepath: '/archive/freemedia-standalone-targz'
|