Skip to content

Commit 4a510ad

Browse files
authored
Merge branch 'master' into default-micromamba-v2-template
2 parents 827895b + 6bf2b56 commit 4a510ad

59 files changed

Lines changed: 1110 additions & 1010 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/deploy/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ runs:
2525
using: "composite"
2626
steps:
2727
- name: Configure AWS credentials
28-
uses: aws-actions/configure-aws-credentials@v1
28+
uses: aws-actions/configure-aws-credentials@67fbcbb121271f7775d2e7715933280b06314838 # v1.7.0
2929
with:
3030
aws-access-key-id: ${{ inputs.aws-access-key-id }}
3131
aws-secret-access-key: ${{ inputs.aws-secret-access-key }}
3232
aws-region: ${{ inputs.aws-region }}
3333

3434
- name: Deploy to prod
35-
uses: kodermax/kubectl-aws-eks@master
35+
uses: kodermax/kubectl-aws-eks@ebad7507329396261acc8b118807b81727314058 # master
3636
env:
3737
KUBE_CONFIG_DATA: ${{ inputs.kube-config-data }}
3838
with:

.github/workflows/build-plugin-scanner.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
2121

2222
- name: Set up Docker Buildx
2323
id: buildx
24-
uses: docker/setup-buildx-action@v3
24+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
2525

2626
- name: Docker Login
27-
uses: docker/login-action@v3
27+
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
2828
with:
2929
registry: public.cr.seqera.io
3030
username: ${{ vars.SEQERA_PUBLIC_CR_USERNAME }}

.github/workflows/build-singularity.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout code
16-
uses: actions/checkout@v4
16+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
1717

1818
- name: Set up Docker Buildx
1919
id: buildx
20-
uses: docker/setup-buildx-action@v3
20+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
2121

2222
- name: Docker Login
23-
uses: docker/login-action@v3
23+
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
2424
with:
2525
registry: public.cr.seqera.io
2626
username: ${{ vars.SEQERA_PUBLIC_CR_USERNAME }}

.github/workflows/build.yml

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,39 @@ jobs:
3333
java_version: [21]
3434
permissions:
3535
contents: write
36+
id-token: write
3637

3738
steps:
3839
- name: Environment
3940
run: env | sort
4041

4142
- name: Checkout
42-
uses: actions/checkout@v4
43+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6.0.2
4344
with:
4445
fetch-depth: 1
4546
submodules: true
4647

48+
- name: Detect release commit
49+
id: detect-release
50+
env:
51+
COMMIT_MSG: ${{ github.event.head_commit.message }}
52+
run: |
53+
# Only direct pushes whose first line tags `[release]` should publish.
54+
# Squash merges append "(#NNN)" and merge commits start with "Merge pull request #NNN" —
55+
# both must be excluded so a PR body mentioning [release] does not trigger a release.
56+
first_line=$(printf '%s\n' "$COMMIT_MSG" | head -n1)
57+
if [[ "$first_line" == *"[release]"* ]] \
58+
&& [[ ! "$first_line" =~ \(#[0-9]+\)$ ]] \
59+
&& [[ ! "$first_line" =~ ^Merge\ pull\ request\ #[0-9]+ ]]; then
60+
echo "Detected release commit — release steps will run"
61+
echo "is_release=true" >> "$GITHUB_OUTPUT"
62+
else
63+
echo "Not a release commit — release steps will be skipped"
64+
echo "is_release=false" >> "$GITHUB_OUTPUT"
65+
fi
66+
4767
- name: Setup Java ${{ matrix.java_version }}
48-
uses: actions/setup-java@v4
68+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # ratchet:actions/setup-java@v5.2.0
4969
with:
5070
java-version: ${{matrix.java_version}}
5171
distribution: 'temurin'
@@ -79,12 +99,66 @@ jobs:
7999
run: |
80100
sudo rm -rf /home/runner/work/wave/wave/build-workspace
81101
102+
- name: Login to legacy ECR
103+
if: "steps.detect-release.outputs.is_release == 'true'"
104+
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # ratchet:docker/login-action@v4.2.0
105+
with:
106+
registry: 195996028523.dkr.ecr.eu-west-1.amazonaws.com
107+
username: ${{ secrets.TOWER_CI_AWS_ACCESS }}
108+
password: ${{ secrets.TOWER_CI_AWS_SECRET }}
109+
env:
110+
AWS_REGION: eu-west-1
111+
112+
- name: Configure AWS credentials for platform pusher
113+
if: "steps.detect-release.outputs.is_release == 'true'"
114+
uses: aws-actions/configure-aws-credentials@acca2b1b2070338fb9fd1ca27ecee81d687e58e5 # ratchet:aws-actions/configure-aws-credentials@v6.1.2
115+
with:
116+
aws-region: eu-west-2
117+
role-to-assume: arn:aws:iam::232933512461:role/wave-ecr-pusher
118+
role-session-name: GitHubActions-${{ github.run_id }}
119+
120+
- name: Login to enterprise Amazon ECR
121+
if: "steps.detect-release.outputs.is_release == 'true'"
122+
uses: aws-actions/amazon-ecr-login@fa648b43de3d4d023bcb3f89ed6940096949c419 # ratchet:aws-actions/amazon-ecr-login@v2.1.5
123+
82124
- name: Release
83-
if: "contains(github.event.head_commit.message, '[release]')"
125+
id: release
126+
if: "steps.detect-release.outputs.is_release == 'true'"
84127
run: |
128+
set -e
129+
set -x
130+
# Drop the session token injected by configure-aws-credentials so publish.sh / gradle
131+
# sign maven S3 uploads with the static TOWER_CI keys only (mixing static keys with a
132+
# session token from a different role produces SignatureDoesNotMatch).
133+
unset AWS_SESSION_TOKEN
85134
bash publish.sh wave-api
86135
bash publish.sh wave-utils
87-
bash tag-and-push.sh
136+
137+
TAG=v$(cat VERSION)
138+
139+
# Tag repo
140+
REMOTE=https://oauth:$GITHUB_TOKEN@github.com/${GITHUB_REPOSITORY}.git
141+
git tag $TAG
142+
git push $REMOTE $TAG
143+
144+
# Build container image locally with a generic name
145+
./gradlew -PjibRepo=wave/server:$TAG jibDockerBuild
146+
147+
# Push nf-tower-enterprise/wave to legacy ECR
148+
LEGACY_ECR=195996028523.dkr.ecr.eu-west-1.amazonaws.com
149+
docker tag wave/server:$TAG $LEGACY_ECR/nf-tower-enterprise/wave:$TAG
150+
docker push $LEGACY_ECR/nf-tower-enterprise/wave:$TAG
151+
152+
# Push to enterprise ECR (new central registry)
153+
ENTERPRISE_ECR=232933512461.dkr.ecr.eu-west-2.amazonaws.com
154+
docker tag wave/server:$TAG $ENTERPRISE_ECR/wave/server:$TAG
155+
docker push $ENTERPRISE_ECR/wave/server:$TAG
156+
157+
# Create GitHub release (draft for alpha/beta/RC tags)
158+
grep -Ei '.*-(A[0-9]+|B[0-9]+|RC[0-9]+)$' VERSION &>/dev/null && DRAFT='--draft' || DRAFT=''
159+
gh release create $TAG --generate-notes $DRAFT
160+
161+
echo "version=$TAG" >> $GITHUB_OUTPUT
88162
env:
89163
GRADLE_OPTS: '-Dorg.gradle.daemon=false'
90164
AWS_ACCESS_KEY_ID: ${{secrets.TOWER_CI_AWS_ACCESS}}
@@ -99,16 +173,16 @@ jobs:
99173

100174
- name: Publish tests report
101175
if: failure()
102-
uses: actions/upload-artifact@v4
176+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # ratchet:actions/upload-artifact@v7.0.1
103177
with:
104178
name: test-reports-jdk-${{ matrix.java_version }}
105179
path: |
106180
**/build/reports/tests/test
107181
108-
- name : Publish code coverage report
182+
- name: Publish code coverage report
109183
if: success()
110-
uses : actions/upload-artifact@v4
111-
with :
112-
name : code-coverage-reports-jdk-${{ matrix.java_version }}
113-
path : |
184+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # ratchet:actions/upload-artifact@v7.0.1
185+
with:
186+
name: code-coverage-reports-jdk-${{ matrix.java_version }}
187+
path: |
114188
**/build/reports/jacoco/test

.github/workflows/claude.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ jobs:
2525
id-token: write
2626
steps:
2727
- name: Checkout repository
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
2929
with:
3030
fetch-depth: 1
3131

3232
- name: Run Claude PR Action
33-
uses: anthropics/claude-code-action@beta
33+
uses: anthropics/claude-code-action@28f83620103c48a57093dcc2837eec89e036bb9f # beta
3434
with:
3535
anthropic_api_key: ${{ secrets.ENG_ANTHROPIC_API_KEY }}
3636
# Or use OAuth token instead:

.github/workflows/codespell.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/workflows/security-submit-dependecy-graph.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ jobs:
1010
dependency-submission:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
14-
- uses: actions/setup-java@v4
13+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
14+
- uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
1515
with:
1616
distribution: temurin
1717
java-version: 17
1818

1919
- name: Generate and submit dependency graph for wave
20-
uses: gradle/actions/dependency-submission@v4
20+
uses: gradle/actions/dependency-submission@ed408507eac070d1f99cc633dbcf757c94c7933a # v4
2121
with:
2222
dependency-resolution-task: "dependencies"
2323
additional-arguments: "--configuration runtimeClasspath"

.github/workflows/typespec.yml

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424

2525
steps:
2626
- name : Checkout
27-
uses : actions/checkout@v4
27+
uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
2828

2929
- name : Setup Node.js environment
30-
uses : actions/setup-node@v4
30+
uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
3131
with :
32-
node-version : '20.9.0'
32+
node-version : '24.15.0'
3333

3434
- name : Install tsp
3535
run : npm install -g @typespec/compiler@0.64.0
@@ -39,19 +39,3 @@ jobs:
3939
cd typespec
4040
tsp install
4141
tsp compile .
42-
43-
- name: Configure AWS credentials
44-
uses: aws-actions/configure-aws-credentials@v1
45-
with:
46-
aws-access-key-id: ${{secrets.TOWER_CI_AWS_ACCESS}}
47-
aws-secret-access-key: ${{secrets.TOWER_CI_AWS_SECRET}}
48-
aws-region: eu-west-1
49-
50-
- name : Login to Amazon ECR
51-
id : login-ecr
52-
uses : aws-actions/amazon-ecr-login@v1
53-
54-
- name: Release OpenAPI docs
55-
if: "contains(github.event.head_commit.message, '[release]')"
56-
run: |
57-
bash typespec/tag-and-push-openapi.sh

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.33.1
1+
1.33.6

0 commit comments

Comments
 (0)