Set npm dist-tag to "next" for prerelease versions #228
Workflow file for this run
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
name: Build, test and deploy webR | |
on: | |
push: | |
branches: | |
- "main" | |
tags: | |
- "v*.*" | |
workflow_dispatch: | |
env: | |
QUARTO_URL: https://github.com/quarto-dev/quarto-cli/releases/download/v1.2.335/quarto-1.2.335-linux-amd64.deb | |
jobs: | |
build: | |
name: Build webR | |
runs-on: ubuntu-latest | |
container: georgestagg/webr-flang:latest | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 'lts/*' | |
registry-url: 'https://registry.npmjs.org' | |
- uses: actions/checkout@v3 | |
- name: Install Quarto | |
run: | | |
wget -O /tmp/quarto-linux-amd64.deb $QUARTO_URL | |
dpkg -i /tmp/quarto-linux-amd64.deb | |
- name: Configure webR for flang | |
run: ./configure | |
- name: Copy flang into webR tree | |
run: | | |
cp -r /opt/flang/wasm . | |
cp -r /opt/flang/host . | |
cp /opt/flang/emfc ./host/bin/emfc | |
- name: Setup Emscripten PATH | |
run: echo "/opt/emsdk:/opt/emsdk/upstream/emscripten" >> $GITHUB_PATH | |
- name: Set Emscripten EM_NODE_JS | |
run: echo "EM_NODE_JS=$(which node)" >> $GITHUB_ENV | |
- name: Set the webR CDN URL as the BASE_URL | |
run: echo "BASE_URL=https://webr.r-wasm.org/${{ github.ref_name }}/" > "$HOME/.webr-config.mk" | |
shell: bash | |
- name: Build all optional wasm libs | |
env: | |
EMSDK: /opt/emsdk | |
run: cd libs && make all | |
- name: Build webR | |
env: | |
EMSDK: /opt/emsdk | |
run: make && make check-pr | |
shell: bash | |
- name: Build webR documentation | |
run: cd src/docs && make | |
shell: bash | |
- name: Report code coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
files: src/coverage/lcov.info | |
flags: unittests | |
name: codecov-webr | |
fail_ci_if_error: true | |
verbose: true | |
token: ${{ secrets.CC_TOKEN }} | |
- name: Archive webR build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: webr-dist | |
path: | | |
dist | |
- name: Archive webR documentation artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: webr-docs | |
path: | | |
src/docs/_site | |
deploy: | |
name: Deploy webR to S3 | |
needs: build | |
runs-on: ubuntu-latest | |
environment: deploy | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Download build archive | |
uses: actions/download-artifact@v3 | |
with: | |
name: webr-dist | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
role-to-assume: ${{ secrets.AWS_ROLE }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Upload files to S3 bucket | |
run: | | |
aws s3 sync . s3://${{ secrets.AWS_S3_BUCKET }}/_webr/${{ github.ref_name }}/ | |
deploy_docs: | |
name: Deploy webR documentation to S3 | |
needs: build | |
runs-on: ubuntu-latest | |
environment: deploy | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Download docs archive | |
uses: actions/download-artifact@v3 | |
with: | |
name: webr-docs | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
role-to-assume: ${{ secrets.AWS_ROLE }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Upload files to S3 bucket | |
run: | | |
aws s3 sync . s3://${{ secrets.AWS_S3_BUCKET }}/_docs/webr/${{ github.ref_name }}/ |