Skip to content

Commit ec17904

Browse files
authored
Merge pull request #1308 from hkad98/jkd/release
chore: utilize trusted publisher in release
2 parents aec2f89 + 5571639 commit ec17904

File tree

1 file changed

+44
-14
lines changed

1 file changed

+44
-14
lines changed

.github/workflows/dev-release.yaml

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,29 @@ on:
88
description: 'Branch name to release from'
99
default: "master"
1010

11+
env:
12+
COMPONENTS: '["gooddata-api-client","gooddata-pandas","gooddata-fdw","gooddata-sdk","gooddata-dbt","gooddata-flight-server","gooddata-flexconnect","gooddata-pipelines"]'
13+
1114
jobs:
12-
dev-release:
13-
name: Releasing master as dev
15+
matrix-components:
16+
name: Prepare matrix components
17+
runs-on: ubuntu-latest
18+
outputs:
19+
components: ${{ steps.export.outputs.components }}
20+
steps:
21+
- name: Export components JSON
22+
id: export
23+
run: echo "components=${COMPONENTS}" >> "$GITHUB_OUTPUT"
24+
25+
build:
26+
name: Build ${{ matrix.component }}
1427
runs-on: ubuntu-latest
28+
needs: matrix-components
29+
permissions:
30+
contents: read
1531
strategy:
1632
matrix:
17-
component:
18-
- gooddata-api-client
19-
- gooddata-pandas
20-
- gooddata-fdw
21-
- gooddata-sdk
22-
- gooddata-dbt
23-
- gooddata-flight-server
24-
- gooddata-flexconnect
25-
- gooddata-pipelines
33+
component: ${{ fromJSON(needs.matrix-components.outputs.components) }}
2634
steps:
2735
- name: Checkout Repository
2836
uses: actions/checkout@v4
@@ -43,10 +51,32 @@ jobs:
4351
cd packages/${{ matrix.component }}
4452
fi
4553
uv build --out-dir dist
54+
- name: Upload ${{ matrix.component }} artifacts
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: dist-${{ matrix.component }}
58+
path: ${{ matrix.component == 'gooddata-api-client' && format('{0}/dist', matrix.component) || format('packages/{0}/dist', matrix.component) }}
59+
if-no-files-found: error
60+
61+
publish:
62+
name: Publish ${{ matrix.component }}
63+
runs-on: ubuntu-latest
64+
needs:
65+
- matrix-components
66+
- build
67+
permissions:
68+
id-token: write
69+
strategy:
70+
matrix:
71+
component: ${{ fromJSON(needs.matrix-components.outputs.components) }}
72+
steps:
73+
- name: Download ${{ matrix.component }} artifacts
74+
uses: actions/download-artifact@v4
75+
with:
76+
name: dist-${{ matrix.component }}
77+
path: dist
4678
- name: Push ${{ matrix.component}} to pypi
4779
uses: pypa/gh-action-pypi-publish@release/v1
4880
with:
49-
user: __token__
50-
password: ${{ secrets.PYPI_API_TOKEN }}
51-
packages-dir: ${{ matrix.component == 'gooddata-api-client' && format('{0}/dist', matrix.component) || format('packages/{0}/dist', matrix.component) }}
81+
packages-dir: dist
5282
verbose: true

0 commit comments

Comments
 (0)