diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml
deleted file mode 100644
index b8e85c22e2..0000000000
--- a/.github/workflows/integration-test.yml
+++ /dev/null
@@ -1,163 +0,0 @@
-name: integration test
-
-on: workflow_dispatch
-
-jobs:
- # phase 1
- list:
- env:
- s3_bucket: s3://openproblems-data/resources_test/
- runs-on: ubuntu-latest
-
- outputs:
- component_matrix: ${{ steps.set_matrix.outputs.components }}
- workflow_matrix: ${{ steps.set_matrix.outputs.workflows }}
- cache_key: ${{ steps.cache.outputs.cache_key }}
-
- steps:
- - uses: actions/checkout@v4
-
- - uses: viash-io/viash-actions/setup@v5
-
- - uses: viash-io/viash-actions/project/sync-and-cache-s3@v5
- id: cache
- with:
- s3_bucket: $s3_bucket
- dest_path: resources_test
- cache_key_prefix: resources_test__
-
- - name: Remove target folder from .gitignore
- run: |
- # allow publishing the target folder
- sed -i 's#^/target/$##g' .gitignore
-
- - uses: viash-io/viash-actions/ns-build@v5
- with:
- config_mod: .functionality.version := 'integration_build'
- parallel: true
-
- - name: Deploy to target branch
- uses: peaceiris/actions-gh-pages@v4
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: .
- publish_branch: integration_build
- exclude_assets: ''
-
- - id: ns_list
- uses: viash-io/viash-actions/ns-list@v5
- with:
- platform: docker
- src: src
- format: json
-
- - id: set_matrix
- run: |
- echo "components=$(jq -c '[ .[] |
- {
- "name": (.functionality.namespace + (.platforms | map(select(.type == "docker"))[0].namespace_separator) + .functionality.name),
- "config": .info.config,
- "dir": .info.config | capture("^(?
.*\/)").dir
- }
- ]' ${{ steps.ns_list.outputs.output_file }} )" >> $GITHUB_OUTPUT
-
- echo "workflows=$(jq -c '[ .[] | . as $config | (.functionality.test_resources // [])[] | select(.type == "nextflow_script", .entrypoint) |
- {
- "name": ($config.functionality.namespace + "/" + $config.functionality.name),
- "main_script": (($config.info.config | capture("^(?.*\/)").dir) + "/" + .path),
- "entry": .entrypoint,
- "config": $config.info.config
- }
- ] | unique' ${{ steps.ns_list.outputs.output_file }} )" >> $GITHUB_OUTPUT
-
- # phase 2
- build:
- needs: list
-
- runs-on: ubuntu-latest
-
- strategy:
- fail-fast: false
- matrix:
- component: ${{ fromJson(needs.list.outputs.component_matrix) }}
-
- steps:
- # Remove unnecessary files to free up space. Otherwise, we get 'no space left on device.'
- - uses: data-intuitive/reclaim-the-bytes@v2
-
- - uses: actions/checkout@v4
-
- - uses: viash-io/viash-actions/setup@v5
-
- - name: Build container
- uses: viash-io/viash-actions/ns-build@v5
- with:
- config_mod: .functionality.version := 'integration_build'
- setup: build
- src: ${{ matrix.component.dir }}
-
- - name: Login to container registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ secrets.GTHB_USER }}
- password: ${{ secrets.GTHB_PAT }}
-
- - name: Push container
- uses: viash-io/viash-actions/ns-build@v5
- with:
- config_mod: .functionality.version := 'integration_build'
- platform: docker
- src: ${{ matrix.component.dir }}
- setup: push
-
- ###################################
- # phase 3
- integration_test:
- needs: [ build, list ]
- if: "${{ needs.list.outputs.workflow_matrix != '[]' }}"
-
- runs-on: ubuntu-latest
-
- strategy:
- fail-fast: false
- matrix:
- component: ${{ fromJson(needs.list.outputs.workflow_matrix) }}
-
- steps:
- # Remove unnecessary files to free up space. Otherwise, we get 'no space left on device.'
- - uses: data-intuitive/reclaim-the-bytes@v2
-
- - uses: actions/checkout@v4
-
- - uses: viash-io/viash-actions/setup@v5
-
- - uses: nf-core/setup-nextflow@v2.0.0
-
- # build target dir
- # use containers from integration_build branch, hopefully these are available
- - name: Build target dir
- uses: viash-io/viash-actions/ns-build@v5
- with:
- config_mod: ".functionality.version := 'integration_build'"
- parallel: true
-
- # use cache
- - name: Cache resources data
- uses: actions/cache@v4
- timeout-minutes: 5
- with:
- path: resources_test
- key: ${{ needs.list.outputs.cache_key }}
- fail-on-cache-miss: true
-
- - name: Run integration test
- timeout-minutes: 45
- run: |
- # todo: replace with viash test command
- export NXF_VER=22.04.5
- nextflow run . \
- -main-script "${{ matrix.component.main_script }}" \
- -entry "${{ matrix.component.entry }}" \
- -profile docker,mount_temp,no_publish \
- -c workflows/utils/labels_ci.config
diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml
index efdf563065..ddecf5fa5c 100644
--- a/.github/workflows/main-build.yml
+++ b/.github/workflows/main-build.yml
@@ -11,7 +11,6 @@ jobs:
outputs:
component_matrix: ${{ steps.set_matrix.outputs.matrix }}
- cache_key: ${{ steps.cache.outputs.cache_key }}
steps:
- uses: actions/checkout@v4
@@ -28,22 +27,6 @@ jobs:
config_mod: .functionality.version := 'main_build'
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@v4
- # with:
- # workflows: src
- # components: src
- # viash_pro_token: ${{ secrets.GTHB_PAT }}
- # tools_version: 'main_build'
-
- name: Deploy to target branch
uses: peaceiris/actions-gh-pages@v4
with:
@@ -73,6 +56,10 @@ jobs:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+
strategy:
fail-fast: false
matrix:
@@ -93,13 +80,13 @@ jobs:
platform: docker
src: ${{ matrix.component.dir }}
setup: build
-
+
- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
- username: ${{ secrets.GTHB_USER }}
- password: ${{ secrets.GTHB_PAT }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
- name: Push container
uses: viash-io/viash-actions/ns-build@v5
diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml
index 4d4b18c2f8..35cc59365d 100644
--- a/.github/workflows/release-build.yml
+++ b/.github/workflows/release-build.yml
@@ -102,6 +102,10 @@ jobs:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+
strategy:
fail-fast: false
matrix:
@@ -122,13 +126,13 @@ jobs:
platform: docker
src: ${{ matrix.component.dir }}
setup: build
-
+
- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
- username: ${{ secrets.GTHB_USER }}
- password: ${{ secrets.GTHB_PAT }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
- name: Push container
uses: viash-io/viash-actions/ns-build@v5
@@ -192,7 +196,7 @@ jobs:
# phase 4
component_test:
needs: [ build, list ]
- if: ${{ needs.list.outputs.matrix != '[]' && needs.list.outputs.matrix != '' }}
+ if: ${{ needs.list.outputs.component_matrix != '[]' && needs.list.outputs.component_matrix != '' }}
runs-on: ubuntu-latest
strategy: