diff --git a/.github/workflows/main-build-viash-hub.yml b/.github/workflows/main-build-viash-hub.yml new file mode 100644 index 0000000..c3c1913 --- /dev/null +++ b/.github/workflows/main-build-viash-hub.yml @@ -0,0 +1,129 @@ +name: main build + +on: + push: + branches: [ 'main' ] + +jobs: + # phase 1 + list: + runs-on: ubuntu-latest + + outputs: + component_matrix: ${{ steps.set_matrix.outputs.matrix }} + cache_key: ${{ steps.cache.outputs.cache_key }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Push main to Viash-hub + run: | + git remote add viash-hub https://x-access-token:${{ secrets.VIASHHUB_PAT }}@viash-hub.com/data-intuitive/civ6_pipeline.git + git push -f viash-hub main + + - uses: viash-io/viash-actions/setup@v4 + + - name: Remove target folder from .gitignore + run: | + # allow publishing the target folder + sed -i '/^target.*/d' .gitignore + + - uses: viash-io/viash-actions/ns-build@v4 + with: + config_mod: | + .functionality.version := 'main_build' + .platforms[.type == 'docker'].target_registry := 'viash-hub.com:5050' + .platforms[.type == 'docker'].target_organization := 'data-intuitive/civ6_pipeline' + .platforms[.type == 'docker'].target_image_source := 'https://viash-hub.com/data-intuitive/civ6_pipeline' + parallel: true + + - name: Build nextflow schemas + uses: viash-io/viash-actions/pro/build-nextflow-schemas@v4 + with: + workflows: src + components: src + viash_pro_token: ${{ secrets.GTHB_PAT }} + tools_version: 'main_build' + + - name: Build parameter files + uses: viash-io/viash-actions/pro/build-nextflow-params@v3 + with: + workflows: src + components: src + viash_pro_token: ${{ secrets.GTHB_PAT }} + tools_version: 'main_build' + + - name: Deploy build artifacts to Viash-Hub + uses: viash-io/viash-actions/viash-hub/deploy@v4 + with: + github_token: ${{ github.token }} + viash_hub_token: ${{ secrets.VIASHHUB_PAT }} + viash_hub_repo: data-intuitive/civ6_pipeline + github_repo: data-intuitive/civ6_pipeline + src_branch: main_build + dest_branch: main_build + + - id: ns_list + uses: viash-io/viash-actions/ns-list@v4 + with: + platform: docker + src: src + format: json + + - id: set_matrix + run: | + echo "matrix=$(jq -c '[ .[] | + { + "name": (.functionality.namespace + "/" + .functionality.name), + "dir": .info.config | capture("^(?