name: '[CI] Publish Release' on: release: types: [published] env: MINICONDA_PYTHON_VERSION: py38 MINICONDA_VERSION: 4.11.0 defaults: run: working-directory: pyscriptjs jobs: build: runs-on: ubuntu-latest permissions: contents: read id-token: write steps: - name: Checkout uses: actions/checkout@v3 - name: Install node uses: actions/setup-node@v3 with: node-version: 18.x - name: Cache node modules uses: actions/cache@v3 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: setup Miniconda uses: conda-incubator/setup-miniconda@v2 - name: Setup Environment run: make setup - name: Build and Test run: make test # Upload to S3 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1.6.1 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 ./build/ s3://pyscript.net/latest/ aws s3 sync --quiet ./build/ s3://pyscript.net/releases/${{ github.ref_name }}/