stages: - build - test - package - release ######### # BUILD # ######### build: stage: build script: - echo "TODO build pamhyr" build-lang: stage: build tags: - linux script: - cd ./src/lang/ - ./create_ts.sh artifacts: paths: - src/lang/*.qm ######### # TESTS # ######### test: stage: test script: - echo "TODO PAMHYR tests" ############ # PACKAGES # ############ linux-package: stage: package tags: - release - linux needs: - job: build-lang artifacts: true rules: - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG artifacts: paths: - packages/pamhyr-gnulinux-amd64.tar.xz script: - cd packages - ./linux.sh windows-package: stage: package tags: - release - wine needs: - job: build-lang artifacts: true rules: - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG artifacts: paths: - packages/pamhyr-win-amd64.exe script: - cd packages - ./windows.bat ########### # RELEASE # ########### tag-release: stage: release tags: - release - linux needs: - job: linux-package artifacts: true - job: windows-package artifacts: true rules: - if: $CI_COMMIT_TAG artifacts: paths: - packages/pamhyr-gnulinux-amd64.tar.xz - packages/pamhyr-win-amd64.exe script: - cd packages release: name: '$CI_COMMIT_TAG' description: 'Automatic release from tag $CI_COMMIT_TAG' tag_name: '$CI_COMMIT_TAG' ref: '$CI_COMMIT_SHA' assets: links: - name: 'GNU/Linux amd64 (tar.xz)' url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-gnulinux-amd64.tar.xz' filepath: '/packages/pamhyr-gnulinux-amd64.tar.xz' link_type: 'other' - name: 'Windows amd64 (exe)' url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-win-amd64.exe' filepath: '/packages/pamhyr-win-amd64.exe' link_type: 'other'