-
-
Notifications
You must be signed in to change notification settings - Fork 17
76 lines (66 loc) · 2.41 KB
/
wasm.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
name: WASM 🧭
on:
workflow_call:
inputs:
package-subdirectory:
description: Subdirectory in the repository, where the R package is located.
required: false
type: string
default: ""
jobs:
wasm:
name: WASM 🧭
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Get branch names 🌿
id: branch-name
uses: tj-actions/branch-names@v7
- name: Checkout repo 🛎
uses: actions/[email protected]
with:
ref: ${{ steps.branch-name.outputs.head_ref_branch }}
path: ${{ github.event.repository.name }}
- name: Get package name 📦
run: |
echo "PKGNAME=$(echo $(awk -F: '/Package:/{gsub(/[ ]+/,"") ; print $2}' DESCRIPTION))" >> $GITHUB_ENV
shell: bash
working-directory: ${{ github.event.repository.name }}/${{ inputs.package-subdirectory }}
- name: Build WASM packages 🧭
uses: r-wasm/actions/build-rwasm@v1
with:
packages: |
${{ github.repository_owner }}/${{ env.PKGNAME }}@${{ steps.branch-name.outputs.tag }}
- name: Upload WASM packages ⬆
uses: actions/upload-artifact@v4
with:
name: wasm-${{ env.PKGNAME }}
path: |
_site/bin/emscripten/contrib/*/${{ env.PKGNAME }}*.tgz
_site/src/contrib/${{ env.PKGNAME }}*.tar.gz
- name: Check if release exists ⚙️
id: check-if-release-exists
uses: insightsengineering/release-existence-action@v1
- name: Download artifact ⏬
if: >-
steps.check-if-release-exists.outputs.release-exists == 'true'
uses: actions/download-artifact@v4
with:
name: wasm-${{ env.PKGNAME }}
path: wasm-${{ env.PKGNAME }}
- name: Prepare WASM release artifact 🗜️
if: >-
steps.check-if-release-exists.outputs.release-exists == 'true'
run: |
zip -r9 wasm-${{ env.PKGNAME }}.zip wasm-${{ env.PKGNAME }}
- name: Upload WASM build to release 🔼
if: >-
steps.check-if-release-exists.outputs.release-exists == 'true'
uses: svenstaro/upload-release-action@v2
with:
file: ./wasm-${{ env.PKGNAME }}.zip
asset_name: wasm-${{ env.PKGNAME }}.zip
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
overwrite: true