From 74d2f769f60d0f50f2c39a05e1a3ffe501a30163 Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Wed, 11 Dec 2024 14:25:54 -0500 Subject: [PATCH 1/7] Reset version --- dockstore-common/generated/src/main/resources/pom.xml | 2 +- .../generated/src/main/resources/pom.xml | 10 +++++----- .../generated/src/main/resources/pom.xml | 4 ++-- .../generated/src/main/resources/pom.xml | 6 +++--- .../src/main/resources/openapi3/openapi.yaml | 2 +- .../generated/src/main/resources/pom.xml | 4 ++-- reports/generated/src/main/resources/pom.xml | 8 ++++---- .../generated/src/main/resources/pom.xml | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dockstore-common/generated/src/main/resources/pom.xml b/dockstore-common/generated/src/main/resources/pom.xml index 9c5499619b..1302bc632a 100644 --- a/dockstore-common/generated/src/main/resources/pom.xml +++ b/dockstore-common/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-common - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 diff --git a/dockstore-integration-testing/generated/src/main/resources/pom.xml b/dockstore-integration-testing/generated/src/main/resources/pom.xml index fa886efcc1..f6bd131c54 100644 --- a/dockstore-integration-testing/generated/src/main/resources/pom.xml +++ b/dockstore-integration-testing/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-integration-testing - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -72,25 +72,25 @@ io.dockstore swagger-java-client - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-common - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-webservice - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore openapi-java-client - 1.16.1 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml index 4435772b84..c94e5d1863 100644 --- a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml +++ b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-language-plugin-parent - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -30,7 +30,7 @@ io.dockstore dockstore-common - 1.16.1 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-webservice/generated/src/main/resources/pom.xml b/dockstore-webservice/generated/src/main/resources/pom.xml index de9ff8e33a..b715bb04bc 100644 --- a/dockstore-webservice/generated/src/main/resources/pom.xml +++ b/dockstore-webservice/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-webservice - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -90,13 +90,13 @@ io.dockstore dockstore-common - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-language-plugin-parent - 1.16.1 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml index 1d6348bdb2..af6bc9f9c2 100644 --- a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml +++ b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml @@ -13,7 +13,7 @@ info: url: https://github.com/dockstore/dockstore/blob/develop/LICENSE termsOfService: https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/docs/Dockstore_Terms_of_Service.pdf title: Dockstore API - version: 1.16.1 + version: 1.16.0-SNAPSHOT servers: - description: Current server when hosted on AWS url: /api diff --git a/openapi-java-client/generated/src/main/resources/pom.xml b/openapi-java-client/generated/src/main/resources/pom.xml index 4be2f9b629..e143bfdb88 100644 --- a/openapi-java-client/generated/src/main/resources/pom.xml +++ b/openapi-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore openapi-java-client - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.1 + 1.16.0-SNAPSHOT provided diff --git a/reports/generated/src/main/resources/pom.xml b/reports/generated/src/main/resources/pom.xml index 82ff317eed..716a19e51d 100644 --- a/reports/generated/src/main/resources/pom.xml +++ b/reports/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore reports - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -30,19 +30,19 @@ io.dockstore dockstore-webservice - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-common - 1.16.1 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-integration-testing - 1.16.1 + 1.16.0-SNAPSHOT compile diff --git a/swagger-java-client/generated/src/main/resources/pom.xml b/swagger-java-client/generated/src/main/resources/pom.xml index ea14e5c86d..9b66266326 100644 --- a/swagger-java-client/generated/src/main/resources/pom.xml +++ b/swagger-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore swagger-java-client - 1.16.1 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.1 + 1.16.0-SNAPSHOT provided From af2325dadc2058e9ea013f688b2c0a22d0ec97eb Mon Sep 17 00:00:00 2001 From: Kathy Tran Date: Thu, 5 Dec 2024 09:11:45 -0500 Subject: [PATCH 2/7] Use reusable deploy artifacts workflow (#6043) https://ucsc-cgl.atlassian.net/browse/SEAB-6771 --- .github/collab-mvn-settings.xml | 9 -- .github/snapshot-mvn-settings.xml | 9 -- ...ploy_snapshot.yml => deploy_artifacts.yml} | 78 +++++------------ .github/workflows/deploy_tagged.yml | 87 ------------------- 4 files changed, 20 insertions(+), 163 deletions(-) delete mode 100644 .github/collab-mvn-settings.xml delete mode 100644 .github/snapshot-mvn-settings.xml rename .github/workflows/{deploy_snapshot.yml => deploy_artifacts.yml} (50%) delete mode 100644 .github/workflows/deploy_tagged.yml diff --git a/.github/collab-mvn-settings.xml b/.github/collab-mvn-settings.xml deleted file mode 100644 index 711bbdc0d6..0000000000 --- a/.github/collab-mvn-settings.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - central - dockstore-bot - ${env.COLLAB_DEPLOY_TOKEN} - - - diff --git a/.github/snapshot-mvn-settings.xml b/.github/snapshot-mvn-settings.xml deleted file mode 100644 index ce26d73bed..0000000000 --- a/.github/snapshot-mvn-settings.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - snapshots - dockstore-snapshot-bot - ${env.SNAPSHOT_DEPLOY_TOKEN} - - - diff --git a/.github/workflows/deploy_snapshot.yml b/.github/workflows/deploy_artifacts.yml similarity index 50% rename from .github/workflows/deploy_snapshot.yml rename to .github/workflows/deploy_artifacts.yml index 2921d969c5..7ee1b5088f 100644 --- a/.github/workflows/deploy_snapshot.yml +++ b/.github/workflows/deploy_artifacts.yml @@ -1,21 +1,30 @@ -name: Deploy develop snapshot - +name: Deploy artifacts on: push: - branches: - - develop - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: + tags: + - '**' + # Run for all branches except the following + branches-ignore: + - 'master' + - 'release/**' + - 'hotfix/**' + - 'dependabot/**' jobs: - build: + deploy_artifacts: + uses: dockstore/workflow-actions/.github/workflows/deploy_artifacts.yaml@main + with: + createDockerImage: true + quayRepository: dockstore-webservice + secrets: inherit + + deploy_db_docs: + if: ${{ github.ref_type == 'branch' && github.ref_name == 'develop' }} runs-on: ubuntu-22.04 permissions: contents: read pages: write - id-token: write # Service containers to run with `container-job` services: @@ -54,54 +63,8 @@ jobs: java-version: '21.0.2+13.0.LTS' distribution: 'adopt' - - name: Deploy with mvnw - run: ./mvnw --batch-mode deploy -ntp -s .github/snapshot-mvn-settings.xml -DskipTests - env: - SNAPSHOT_DEPLOY_TOKEN: ${{ secrets.SNAPSHOT_DEPLOY_TOKEN }} - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} - role-session-name: docker_checksum_upload_from_github - aws-region: ${{ secrets.AWS_REGION }} - - # neat, quay itself uses manual github actions https://github.com/quay/quay/blob/master/.github/workflows/build-and-publish.yaml - - name: Login to Quay.io - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_USER }} - password: ${{ secrets.QUAY_TOKEN }} - - - name: Set folder name - run: | - S3_FOLDER=${GITHUB_REF##refs/tags/} - if [ $GITHUB_REF == $S3_FOLDER ]; then - # If this isn't a tag, it must be a branch - S3_FOLDER=${GITHUB_REF##refs/heads/} - fi - echo "S3_FOLDER=${S3_FOLDER//\//_}" >> $GITHUB_ENV - - - name: Build and push - id: docker_build - uses: docker/build-push-action@v6 - with: - context: . - push: true - tags: quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} - - - name: Create checksums - run: | - docker inspect quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} | grep -A 1 RepoDigests - docker inspect quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} | grep -A 1 RepoDigests | grep -oPm1 'sha256:\K\w+' > image-digest.txt - - - name: Get short SHA - id: slug - run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)" - - - name: Copy checksum files - run: aws s3 cp image-digest.txt s3://${{ secrets.AWS_BUCKET }}/${{ env.S3_FOLDER }}-${{ steps.slug.outputs.sha7 }}/image-digest.txt + - name: Build + run: ./mvnw -B clean install -DskipTests # deploy database documentation and also verify that non-confidential migrations seem sane - name: Setup Pages @@ -119,4 +82,3 @@ jobs: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 - diff --git a/.github/workflows/deploy_tagged.yml b/.github/workflows/deploy_tagged.yml deleted file mode 100644 index ca063dd234..0000000000 --- a/.github/workflows/deploy_tagged.yml +++ /dev/null @@ -1,87 +0,0 @@ -name: Tagged release deploy - -on: - workflow_dispatch: - inputs: - changelist: - description: 'patch and pre-release metadata' - required: true - default: '.0-alpha.1' - - -jobs: - build: - runs-on: ubuntu-22.04 - - # Should only release tags - # TODO: should only release tags where the required status checks are passing - if: startsWith(github.ref, 'refs/tags/') - - permissions: - id-token: write - - steps: - - uses: actions/checkout@v4 - # Step that does that actual cache save and restore - - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '21.0.2+13.0.LTS' - distribution: 'adopt' - - - name: Store Maven project version - run: echo "maven_project_version=$(mvn help:evaluate -Dexpression=project.version -Dchangelist=${{ github.event.inputs.changelist }} -q -DforceStdout)" >> $GITHUB_ENV - - - name: Read exported variable - run: | - echo "${{ env.maven_project_version }}" - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} - role-session-name: docker_checksum_upload_from_github - aws-region: ${{ secrets.AWS_REGION }} - - - name: Deploy with mvnw - run: | - git config --global user.email "${{ github.actor }}" - git config --global user.name "${{ github.actor }}" - ./mvnw --batch-mode deploy -ntp -s .github/collab-mvn-settings.xml -DskipTests -Dchangelist=${{ github.event.inputs.changelist }} - env: - COLLAB_DEPLOY_TOKEN: ${{ secrets.COLLAB_DEPLOY_TOKEN }} - - # neat, quay itself uses manual github actions https://github.com/quay/quay/blob/master/.github/workflows/build-and-publish.yaml - - name: Login to Quay.io - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_USER }} - password: ${{ secrets.QUAY_TOKEN }} - - - name: Build and push - id: docker_build - uses: docker/build-push-action@v6 - with: - context: . - push: true - tags: quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} - - - name: Create checksums - run: | - docker inspect quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} | grep -A 1 RepoDigests - docker inspect quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} | grep -A 1 RepoDigests | grep -oPm1 'sha256:\K\w+' > image-digest.txt - - - name: Get short SHA - id: slug - run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)" - - - name: Copy checksum files - run: aws s3 cp image-digest.txt s3://${{ secrets.AWS_BUCKET }}/${{ env.maven_project_version }}-${{ steps.slug.outputs.sha7 }}/image-digest.txt From 7a0277d828ddfac30364df4023ab84873b00b1b9 Mon Sep 17 00:00:00 2001 From: Kathy Tran Date: Thu, 5 Dec 2024 13:07:08 -0500 Subject: [PATCH 3/7] Add id-token write permisson for deploying db docs (#6047) https://ucsc-cgl.atlassian.net/browse/SEAB-6771 --- .github/workflows/deploy_artifacts.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy_artifacts.yml b/.github/workflows/deploy_artifacts.yml index 7ee1b5088f..9c3e8b0896 100644 --- a/.github/workflows/deploy_artifacts.yml +++ b/.github/workflows/deploy_artifacts.yml @@ -25,6 +25,7 @@ jobs: permissions: contents: read pages: write + id-token: write # Service containers to run with `container-job` services: From 4b4f813ec77b5ee6a45117f94d5bbfcdcd10f85a Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Wed, 11 Dec 2024 14:49:42 -0500 Subject: [PATCH 4/7] Update artifacts --- dockstore-common/generated/src/main/resources/pom.xml | 2 +- .../generated/src/main/resources/pom.xml | 10 +++++----- .../generated/src/main/resources/pom.xml | 4 ++-- .../generated/src/main/resources/pom.xml | 6 +++--- .../src/main/resources/openapi3/openapi.yaml | 2 +- .../generated/src/main/resources/pom.xml | 4 ++-- reports/generated/src/main/resources/pom.xml | 8 ++++---- .../generated/src/main/resources/pom.xml | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dockstore-common/generated/src/main/resources/pom.xml b/dockstore-common/generated/src/main/resources/pom.xml index 1302bc632a..d18b85c65f 100644 --- a/dockstore-common/generated/src/main/resources/pom.xml +++ b/dockstore-common/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 diff --git a/dockstore-integration-testing/generated/src/main/resources/pom.xml b/dockstore-integration-testing/generated/src/main/resources/pom.xml index f6bd131c54..d2d256b6c8 100644 --- a/dockstore-integration-testing/generated/src/main/resources/pom.xml +++ b/dockstore-integration-testing/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-integration-testing - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -72,25 +72,25 @@ io.dockstore swagger-java-client - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore openapi-java-client - 1.16.0-SNAPSHOT + 1.16.2 compile diff --git a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml index c94e5d1863..488524df5c 100644 --- a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml +++ b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-language-plugin-parent - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -30,7 +30,7 @@ io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.2 compile diff --git a/dockstore-webservice/generated/src/main/resources/pom.xml b/dockstore-webservice/generated/src/main/resources/pom.xml index b715bb04bc..0c700033c5 100644 --- a/dockstore-webservice/generated/src/main/resources/pom.xml +++ b/dockstore-webservice/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -90,13 +90,13 @@ io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore dockstore-language-plugin-parent - 1.16.0-SNAPSHOT + 1.16.2 compile diff --git a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml index af6bc9f9c2..d065305c42 100644 --- a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml +++ b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml @@ -13,7 +13,7 @@ info: url: https://github.com/dockstore/dockstore/blob/develop/LICENSE termsOfService: https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/docs/Dockstore_Terms_of_Service.pdf title: Dockstore API - version: 1.16.0-SNAPSHOT + version: 1.16.2 servers: - description: Current server when hosted on AWS url: /api diff --git a/openapi-java-client/generated/src/main/resources/pom.xml b/openapi-java-client/generated/src/main/resources/pom.xml index e143bfdb88..5b4f2ebad1 100644 --- a/openapi-java-client/generated/src/main/resources/pom.xml +++ b/openapi-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore openapi-java-client - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.2 provided diff --git a/reports/generated/src/main/resources/pom.xml b/reports/generated/src/main/resources/pom.xml index 716a19e51d..e489d3baa0 100644 --- a/reports/generated/src/main/resources/pom.xml +++ b/reports/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore reports - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -30,19 +30,19 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.2 compile io.dockstore dockstore-integration-testing - 1.16.0-SNAPSHOT + 1.16.2 compile diff --git a/swagger-java-client/generated/src/main/resources/pom.xml b/swagger-java-client/generated/src/main/resources/pom.xml index 9b66266326..946a4c59a5 100644 --- a/swagger-java-client/generated/src/main/resources/pom.xml +++ b/swagger-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore swagger-java-client - 1.16.0-SNAPSHOT + 1.16.2 Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.2 provided From 47062539aaad3b8143ff69c7b0b2032ad0a48158 Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Wed, 11 Dec 2024 14:52:33 -0500 Subject: [PATCH 5/7] Reset version --- dockstore-common/generated/src/main/resources/pom.xml | 2 +- .../generated/src/main/resources/pom.xml | 10 +++++----- .../generated/src/main/resources/pom.xml | 4 ++-- .../generated/src/main/resources/pom.xml | 6 +++--- .../src/main/resources/openapi3/openapi.yaml | 2 +- .../generated/src/main/resources/pom.xml | 4 ++-- reports/generated/src/main/resources/pom.xml | 8 ++++---- .../generated/src/main/resources/pom.xml | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dockstore-common/generated/src/main/resources/pom.xml b/dockstore-common/generated/src/main/resources/pom.xml index d18b85c65f..1302bc632a 100644 --- a/dockstore-common/generated/src/main/resources/pom.xml +++ b/dockstore-common/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-common - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 diff --git a/dockstore-integration-testing/generated/src/main/resources/pom.xml b/dockstore-integration-testing/generated/src/main/resources/pom.xml index d2d256b6c8..f6bd131c54 100644 --- a/dockstore-integration-testing/generated/src/main/resources/pom.xml +++ b/dockstore-integration-testing/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-integration-testing - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -72,25 +72,25 @@ io.dockstore swagger-java-client - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-common - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-webservice - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore openapi-java-client - 1.16.2 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml index 488524df5c..c94e5d1863 100644 --- a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml +++ b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-language-plugin-parent - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -30,7 +30,7 @@ io.dockstore dockstore-common - 1.16.2 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-webservice/generated/src/main/resources/pom.xml b/dockstore-webservice/generated/src/main/resources/pom.xml index 0c700033c5..b715bb04bc 100644 --- a/dockstore-webservice/generated/src/main/resources/pom.xml +++ b/dockstore-webservice/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-webservice - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -90,13 +90,13 @@ io.dockstore dockstore-common - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-language-plugin-parent - 1.16.2 + 1.16.0-SNAPSHOT compile diff --git a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml index d065305c42..af6bc9f9c2 100644 --- a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml +++ b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml @@ -13,7 +13,7 @@ info: url: https://github.com/dockstore/dockstore/blob/develop/LICENSE termsOfService: https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/docs/Dockstore_Terms_of_Service.pdf title: Dockstore API - version: 1.16.2 + version: 1.16.0-SNAPSHOT servers: - description: Current server when hosted on AWS url: /api diff --git a/openapi-java-client/generated/src/main/resources/pom.xml b/openapi-java-client/generated/src/main/resources/pom.xml index 5b4f2ebad1..e143bfdb88 100644 --- a/openapi-java-client/generated/src/main/resources/pom.xml +++ b/openapi-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore openapi-java-client - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.2 + 1.16.0-SNAPSHOT provided diff --git a/reports/generated/src/main/resources/pom.xml b/reports/generated/src/main/resources/pom.xml index e489d3baa0..716a19e51d 100644 --- a/reports/generated/src/main/resources/pom.xml +++ b/reports/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore reports - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -30,19 +30,19 @@ io.dockstore dockstore-webservice - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-common - 1.16.2 + 1.16.0-SNAPSHOT compile io.dockstore dockstore-integration-testing - 1.16.2 + 1.16.0-SNAPSHOT compile diff --git a/swagger-java-client/generated/src/main/resources/pom.xml b/swagger-java-client/generated/src/main/resources/pom.xml index 946a4c59a5..9b66266326 100644 --- a/swagger-java-client/generated/src/main/resources/pom.xml +++ b/swagger-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore swagger-java-client - 1.16.2 + 1.16.0-SNAPSHOT Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.2 + 1.16.0-SNAPSHOT provided From 09527d7f3fb4539336fdca158a970b7b527427fb Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Wed, 11 Dec 2024 18:27:42 -0500 Subject: [PATCH 6/7] Update artifacts --- dockstore-common/generated/src/main/resources/pom.xml | 2 +- .../generated/src/main/resources/pom.xml | 10 +++++----- .../generated/src/main/resources/pom.xml | 4 ++-- .../generated/src/main/resources/pom.xml | 6 +++--- .../src/main/resources/openapi3/openapi.yaml | 2 +- .../generated/src/main/resources/pom.xml | 4 ++-- reports/generated/src/main/resources/pom.xml | 8 ++++---- .../generated/src/main/resources/pom.xml | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dockstore-common/generated/src/main/resources/pom.xml b/dockstore-common/generated/src/main/resources/pom.xml index 1302bc632a..6127b7c6af 100644 --- a/dockstore-common/generated/src/main/resources/pom.xml +++ b/dockstore-common/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 diff --git a/dockstore-integration-testing/generated/src/main/resources/pom.xml b/dockstore-integration-testing/generated/src/main/resources/pom.xml index f6bd131c54..4cf7c5aaa5 100644 --- a/dockstore-integration-testing/generated/src/main/resources/pom.xml +++ b/dockstore-integration-testing/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-integration-testing - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -72,25 +72,25 @@ io.dockstore swagger-java-client - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore openapi-java-client - 1.16.0-SNAPSHOT + 1.16.3 compile diff --git a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml index c94e5d1863..fbc00abd52 100644 --- a/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml +++ b/dockstore-language-plugin-parent/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-language-plugin-parent - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -30,7 +30,7 @@ io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.3 compile diff --git a/dockstore-webservice/generated/src/main/resources/pom.xml b/dockstore-webservice/generated/src/main/resources/pom.xml index b715bb04bc..acb569a5e2 100644 --- a/dockstore-webservice/generated/src/main/resources/pom.xml +++ b/dockstore-webservice/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -90,13 +90,13 @@ io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore dockstore-language-plugin-parent - 1.16.0-SNAPSHOT + 1.16.3 compile diff --git a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml index af6bc9f9c2..31ca527d75 100644 --- a/dockstore-webservice/src/main/resources/openapi3/openapi.yaml +++ b/dockstore-webservice/src/main/resources/openapi3/openapi.yaml @@ -13,7 +13,7 @@ info: url: https://github.com/dockstore/dockstore/blob/develop/LICENSE termsOfService: https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/docs/Dockstore_Terms_of_Service.pdf title: Dockstore API - version: 1.16.0-SNAPSHOT + version: 1.16.3 servers: - description: Current server when hosted on AWS url: /api diff --git a/openapi-java-client/generated/src/main/resources/pom.xml b/openapi-java-client/generated/src/main/resources/pom.xml index e143bfdb88..4cca8a6674 100644 --- a/openapi-java-client/generated/src/main/resources/pom.xml +++ b/openapi-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore openapi-java-client - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.3 provided diff --git a/reports/generated/src/main/resources/pom.xml b/reports/generated/src/main/resources/pom.xml index 716a19e51d..156ec2631e 100644 --- a/reports/generated/src/main/resources/pom.xml +++ b/reports/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore reports - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -30,19 +30,19 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore dockstore-common - 1.16.0-SNAPSHOT + 1.16.3 compile io.dockstore dockstore-integration-testing - 1.16.0-SNAPSHOT + 1.16.3 compile diff --git a/swagger-java-client/generated/src/main/resources/pom.xml b/swagger-java-client/generated/src/main/resources/pom.xml index 9b66266326..31a4d03aac 100644 --- a/swagger-java-client/generated/src/main/resources/pom.xml +++ b/swagger-java-client/generated/src/main/resources/pom.xml @@ -19,7 +19,7 @@ 4.0.0 io.dockstore swagger-java-client - 1.16.0-SNAPSHOT + 1.16.3 Apache Software License, Version 2.0 @@ -102,7 +102,7 @@ io.dockstore dockstore-webservice - 1.16.0-SNAPSHOT + 1.16.3 provided From ec7d676317b25e375c3c84ac4c5cc407f8dae275 Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Wed, 11 Dec 2024 18:31:00 -0500 Subject: [PATCH 7/7] Revert "Use reusable deploy artifacts workflow (#6043)" This reverts commit af2325dadc2058e9ea013f688b2c0a22d0ec97eb. --- .github/collab-mvn-settings.xml | 9 ++ .github/snapshot-mvn-settings.xml | 9 ++ ...ploy_artifacts.yml => deploy_snapshot.yml} | 77 +++++++++++----- .github/workflows/deploy_tagged.yml | 87 +++++++++++++++++++ 4 files changed, 162 insertions(+), 20 deletions(-) create mode 100644 .github/collab-mvn-settings.xml create mode 100644 .github/snapshot-mvn-settings.xml rename .github/workflows/{deploy_artifacts.yml => deploy_snapshot.yml} (51%) create mode 100644 .github/workflows/deploy_tagged.yml diff --git a/.github/collab-mvn-settings.xml b/.github/collab-mvn-settings.xml new file mode 100644 index 0000000000..711bbdc0d6 --- /dev/null +++ b/.github/collab-mvn-settings.xml @@ -0,0 +1,9 @@ + + + + central + dockstore-bot + ${env.COLLAB_DEPLOY_TOKEN} + + + diff --git a/.github/snapshot-mvn-settings.xml b/.github/snapshot-mvn-settings.xml new file mode 100644 index 0000000000..ce26d73bed --- /dev/null +++ b/.github/snapshot-mvn-settings.xml @@ -0,0 +1,9 @@ + + + + snapshots + dockstore-snapshot-bot + ${env.SNAPSHOT_DEPLOY_TOKEN} + + + diff --git a/.github/workflows/deploy_artifacts.yml b/.github/workflows/deploy_snapshot.yml similarity index 51% rename from .github/workflows/deploy_artifacts.yml rename to .github/workflows/deploy_snapshot.yml index 9c3e8b0896..42e785f1ba 100644 --- a/.github/workflows/deploy_artifacts.yml +++ b/.github/workflows/deploy_snapshot.yml @@ -1,25 +1,15 @@ -name: Deploy artifacts +name: Deploy develop snapshot + on: push: - tags: - - '**' - # Run for all branches except the following - branches-ignore: - - 'master' - - 'release/**' - - 'hotfix/**' - - 'dependabot/**' + branches: + - develop + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: jobs: - deploy_artifacts: - uses: dockstore/workflow-actions/.github/workflows/deploy_artifacts.yaml@main - with: - createDockerImage: true - quayRepository: dockstore-webservice - secrets: inherit - - deploy_db_docs: - if: ${{ github.ref_type == 'branch' && github.ref_name == 'develop' }} + build: runs-on: ubuntu-22.04 permissions: @@ -64,8 +54,54 @@ jobs: java-version: '21.0.2+13.0.LTS' distribution: 'adopt' - - name: Build - run: ./mvnw -B clean install -DskipTests + - name: Deploy with mvnw + run: ./mvnw --batch-mode deploy -ntp -s .github/snapshot-mvn-settings.xml -DskipTests + env: + SNAPSHOT_DEPLOY_TOKEN: ${{ secrets.SNAPSHOT_DEPLOY_TOKEN }} + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} + role-session-name: docker_checksum_upload_from_github + aws-region: ${{ secrets.AWS_REGION }} + + # neat, quay itself uses manual github actions https://github.com/quay/quay/blob/master/.github/workflows/build-and-publish.yaml + - name: Login to Quay.io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_USER }} + password: ${{ secrets.QUAY_TOKEN }} + + - name: Set folder name + run: | + S3_FOLDER=${GITHUB_REF##refs/tags/} + if [ $GITHUB_REF == $S3_FOLDER ]; then + # If this isn't a tag, it must be a branch + S3_FOLDER=${GITHUB_REF##refs/heads/} + fi + echo "S3_FOLDER=${S3_FOLDER//\//_}" >> $GITHUB_ENV + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} + + - name: Create checksums + run: | + docker inspect quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} | grep -A 1 RepoDigests + docker inspect quay.io/dockstore/dockstore-webservice:${{env.S3_FOLDER}} | grep -A 1 RepoDigests | grep -oPm1 'sha256:\K\w+' > image-digest.txt + + - name: Get short SHA + id: slug + run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)" + + - name: Copy checksum files + run: aws s3 cp image-digest.txt s3://${{ secrets.AWS_BUCKET }}/${{ env.S3_FOLDER }}-${{ steps.slug.outputs.sha7 }}/image-digest.txt # deploy database documentation and also verify that non-confidential migrations seem sane - name: Setup Pages @@ -83,3 +119,4 @@ jobs: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 + diff --git a/.github/workflows/deploy_tagged.yml b/.github/workflows/deploy_tagged.yml new file mode 100644 index 0000000000..ca063dd234 --- /dev/null +++ b/.github/workflows/deploy_tagged.yml @@ -0,0 +1,87 @@ +name: Tagged release deploy + +on: + workflow_dispatch: + inputs: + changelist: + description: 'patch and pre-release metadata' + required: true + default: '.0-alpha.1' + + +jobs: + build: + runs-on: ubuntu-22.04 + + # Should only release tags + # TODO: should only release tags where the required status checks are passing + if: startsWith(github.ref, 'refs/tags/') + + permissions: + id-token: write + + steps: + - uses: actions/checkout@v4 + # Step that does that actual cache save and restore + - uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: '21.0.2+13.0.LTS' + distribution: 'adopt' + + - name: Store Maven project version + run: echo "maven_project_version=$(mvn help:evaluate -Dexpression=project.version -Dchangelist=${{ github.event.inputs.changelist }} -q -DforceStdout)" >> $GITHUB_ENV + + - name: Read exported variable + run: | + echo "${{ env.maven_project_version }}" + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} + role-session-name: docker_checksum_upload_from_github + aws-region: ${{ secrets.AWS_REGION }} + + - name: Deploy with mvnw + run: | + git config --global user.email "${{ github.actor }}" + git config --global user.name "${{ github.actor }}" + ./mvnw --batch-mode deploy -ntp -s .github/collab-mvn-settings.xml -DskipTests -Dchangelist=${{ github.event.inputs.changelist }} + env: + COLLAB_DEPLOY_TOKEN: ${{ secrets.COLLAB_DEPLOY_TOKEN }} + + # neat, quay itself uses manual github actions https://github.com/quay/quay/blob/master/.github/workflows/build-and-publish.yaml + - name: Login to Quay.io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_USER }} + password: ${{ secrets.QUAY_TOKEN }} + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} + + - name: Create checksums + run: | + docker inspect quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} | grep -A 1 RepoDigests + docker inspect quay.io/dockstore/dockstore-webservice:${{ env.maven_project_version }} | grep -A 1 RepoDigests | grep -oPm1 'sha256:\K\w+' > image-digest.txt + + - name: Get short SHA + id: slug + run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)" + + - name: Copy checksum files + run: aws s3 cp image-digest.txt s3://${{ secrets.AWS_BUCKET }}/${{ env.maven_project_version }}-${{ steps.slug.outputs.sha7 }}/image-digest.txt