forked from lava-nc/lava-dl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of github.com:lava-nc/lava-dl into main
- Loading branch information
Showing
3 changed files
with
1,292 additions
and
1,155 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,9 +13,9 @@ jobs: | |
lfs: true | ||
|
||
- name: setup CI | ||
uses: lava-nc/ci-setup-composite-action@v1.2 | ||
uses: lava-nc/ci-setup-composite-action@v1.3 | ||
with: | ||
repository: 'Lava-DL' | ||
repository: 'lava-dl' | ||
|
||
- name: Build artifacts | ||
run: | | ||
|
@@ -44,14 +44,14 @@ jobs: | |
with: | ||
name: lava-dl | ||
|
||
- name: Set up Python 3.9 | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.9 | ||
python-version: "3.10" | ||
|
||
- name: Test artifact tar.gz | ||
run: | | ||
python3.9 -m venv artifact-test | ||
python3 -m venv artifact-test | ||
source artifact-test/bin/activate | ||
artifact=$(ls | grep lava_dl | grep tar) | ||
pip install --no-input $artifact | ||
|
@@ -63,7 +63,7 @@ jobs: | |
- name: Test artifact .whl | ||
run: | | ||
python3.9 -m venv artifact-test | ||
python3 -m venv artifact-test | ||
source artifact-test/bin/activate | ||
artifact=$(ls | grep lava_dl | grep whl) | ||
pip install --no-input $artifact | ||
|
@@ -73,7 +73,6 @@ jobs: | |
deactivate | ||
rm -rf artifact-test | ||
test-artifact-use: | ||
name: Test Artifact With Unit Tests | ||
runs-on: ubuntu-latest | ||
|
@@ -85,17 +84,17 @@ jobs: | |
with: | ||
name: lava-dl | ||
|
||
- name: Set up Python 3.9 | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.9 | ||
python-version: "3.10" | ||
|
||
- name: Test artifact tar.gz | ||
run: | | ||
mkdir tmp | ||
cd tmp | ||
cp ../lava* . | ||
python3.9 -m venv artifact-unittest | ||
python3 -m venv artifact-unittest | ||
source artifact-unittest/bin/activate | ||
pip install -U pip | ||
pip install "nbconvert>=7.2.10,<7.3" pytest>=7.2.0 matplotlib>=3.5.1 ipykernel>=6.15.0 nbformat>=5.3.0 | ||
|
@@ -114,7 +113,7 @@ jobs: | |
mkdir tmp | ||
cd tmp | ||
cp ../lava* . | ||
python3.9 -m venv artifact-unittest | ||
python3 -m venv artifact-unittest | ||
source artifact-unittest/bin/activate | ||
pip install -U pip | ||
pip install "nbconvert>=7.2.10,<7.3" pytest>=7.2.0 matplotlib>=3.5.1 ipykernel>=6.15.0 nbformat>=5.3.0 | ||
|
@@ -129,3 +128,83 @@ jobs: | |
deactivate | ||
cd ../ | ||
rm -rf tmp | ||
upload-release-artifact: | ||
name: Upload release artifact | ||
runs-on: ubuntu-latest | ||
if: github.triggering_actor == 'mgkwill' || github.triggering_actor == 'PhilippPlank' || github.triggering_actor == 'tim-shea' | ||
permissions: | ||
contents: write | ||
id-token: write | ||
needs: [build-artifacts, test-artifact-install, test-artifact-use] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
lfs: true | ||
|
||
- name: setup CI | ||
uses: lava-nc/[email protected] | ||
with: | ||
repository: 'lava-dl' | ||
|
||
- name: Download lava artifact | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: lava-dl | ||
|
||
- name: Check Version | ||
id: check-version | ||
run: | | ||
[[ "$(pipx run poetry version --short)" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || echo prerelease=true >> $GITHUB_OUTPUT | ||
echo "release-version=$(pipx run poetry version --short)" >> $GITHUB_OUTPUT | ||
echo "release-commit=$(git log -n 1 --pretty=format:"%H")" >> $GITHUB_OUTPUT | ||
- name: Print Versions | ||
run: | | ||
[[ "$(pipx run poetry version --short)" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || echo prerelease=true | ||
echo "release-version=$(pipx run poetry version --short)" | ||
echo "release-commit=$(git log -n 1 --pretty=format:"%H")" | ||
- name: Create Release | ||
uses: ncipollo/release-action@v1 | ||
with: | ||
artifacts: "lava*" | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
draft: true | ||
prerelease: steps.check-version.outputs.prerelease == 'true' | ||
name: "Lava ${{ steps.check-version.outputs.release-version }}" | ||
commit: "${{ steps.check-version.outputs.release-commit }}" | ||
tag: "v${{ steps.check-version.outputs.release-version }}" | ||
discussionCategory: "Announcements" | ||
artifactErrorsFailBuild: true | ||
generateReleaseNotes: true | ||
makeLatest: true | ||
|
||
- name: Mint Github API token | ||
id: mint-token | ||
run: | | ||
# retrieve the ambient OIDC token | ||
resp=$(curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \ | ||
"$ACTIONS_ID_TOKEN_REQUEST_URL&audience=pypi") | ||
oidc_token=$(jq '.value' <<< "${resp}") | ||
# exchange the OIDC token for an API token | ||
resp=$(curl -X POST https://pypi.org/_/oidc/github/mint-token -d "{\"token\": \"${oidc_token}\"}") | ||
api_token=$(jq '.token' <<< "${resp}") | ||
# mask the newly minted API token, so that we don't accidentally leak it | ||
echo "::add-mask::${api_token}" | ||
# see the next step in the workflow for an example of using this step output | ||
echo "api-token=${api_token}" >> "${GITHUB_OUTPUT}" | ||
- name: Publish to PyPI | ||
if: steps.check-version.outputs.prerelease != 'true' | ||
env: | ||
POETRY_HTTP_BASIC_PYPI_USERNAME: __token__ | ||
POETRY_HTTP_BASIC_PYPI_PASSWORD: ${{ steps.mint-token.outputs.api-token }} | ||
run: | | ||
mkdir dist | ||
cp lava* dist/. | ||
poetry publish |
Oops, something went wrong.