.job_variables: &job_variables variables: GIT_SUBMODULE_STRATEGY: none GIT_DEPTH: 0 PKG_TOKEN: ${PKG_TOKEN} .job_rules_push: &job_rules_push rules: - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_TAG == null' .job_rules_schedule: &job_rules_schedule rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' .job_rules_web: &job_rules_web rules: - if: '$CI_PIPELINE_SOURCE == "web"' .job_rules_pipeline: &job_rules_pipeline rules: - if: '$CI_PIPELINE_SOURCE == "pipeline"' .copy_files: ©_files before_script: - mkdir -p /etc/pkg - cp ./pkg.cfg /etc/pkg/pkg.cfg - cp ./pacman.conf.builder /etc/pacman.conf.builder stages: - update - build - rebuild - deploy update: stage: update <<: *job_variables <<: *job_rules_schedule <<: *copy_files script: - apkg-update.sh build: stage: build <<: *job_variables <<: *job_rules_push <<: *copy_files script: - apkg-prepare.sh - apkg-build.sh - apkg-tag.sh artifacts: name: $CI_PROJECT_NAME-$CI_COMMIT_SHORT_SHA paths: - "*.pkg.tar.xz" - build.env rebuild:from: stage: rebuild <<: *job_variables <<: *job_rules_pipeline <<: *copy_files script: - apkg-rebuild.sh artifacts: name: $CI_PROJECT_NAME-$CI_COMMIT_SHORT_SHA paths: - "*.pkg.tar.xz" rebuild:dynamic: stage: rebuild <<: *job_rules_push <<: *copy_files needs: ["build"] script: - apkg-generate.sh > dynamic-config.yml artifacts: paths: - dynamic-config.yml rebuild:packages: stage: rebuild <<: *job_variables <<: *job_rules_push needs: ["rebuild:dynamic","build"] trigger: include: - artifact: dynamic-config.yml job: rebuild:dynamic strategy: depend deploy: <<: *job_variables <<: *job_rules_push stage: deploy needs: ["build","rebuild:packages"] script: - apkg-deploy.sh