2025.8.1 #47
Workflow file for this run
This file contains hidden or 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
name: "Publish Release" | |
on: | |
release: | |
types: [published] | |
defaults: | |
run: | |
working-directory: ./core | |
jobs: | |
publish-release: | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Python venv | |
run: python -m venv env | |
- name: Activate Python | |
run: source env/bin/activate | |
- name: Update pip | |
run: pip install --upgrade pip | |
- name: Install PyMinifier | |
run: pip install --ignore-requires-python python-minifier | |
- name: Install Setuptools | |
run: pip install setuptools | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: npm install | |
run: npm install && npx playwright install chromium | |
- name: build | |
run: npm run build | |
- name: Generate index.html in snapshot | |
working-directory: . | |
run: sed -e 's#_PATH_#https://pyscript.net/releases/${{ github.ref_name }}/#' -e 's#_DOC_VERSION_#${{ github.ref_name }}#' -e 's#_TAG_VERSION_#/tag/${{ github.ref_name }}#' -e 's#_VERSION_#${{ github.ref_name }}#' ./public/index.html > ./core/dist/index.html | |
- name: Generate release.tar from snapshot and put it in dist/ | |
working-directory: . | |
run: tar -cvf ../release.tar * && mv ../release.tar . | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
role-to-assume: ${{ secrets.AWS_OIDC_RUNNER_ROLE }} | |
- name: Sync to S3 | |
run: | |
| # Update /latest and create an explicitly versioned directory under releases/YYYY.MM.MICRO/ | |
aws s3 sync --quiet ./dist/ s3://pyscript.net/latest/ | |
aws s3 sync --quiet ./dist/ s3://pyscript.net/releases/${{ github.ref_name }}/ |