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'