diff --git a/.github/workflows/verdepcheck.yaml b/.github/workflows/verdepcheck.yaml index 4a15a21d0..ee203f499 100644 --- a/.github/workflows/verdepcheck.yaml +++ b/.github/workflows/verdepcheck.yaml @@ -28,6 +28,14 @@ on: Strategy to test package dependencies. One of: min_isolate, min_cohort, release, max. required: true type: string + extra-deps: + description: | + Extra dependencies specified similarly as in the `DESCRIPTION` file, + i.e. `" ( )"` where both `` + and `` are optional. Multiple entries are possible separated by `";"`. + required: false + default: "" + type: string additional-env-vars: description: | Extra environment variables, as a 'key=value' pair, with each pair on a new line. @@ -104,10 +112,11 @@ jobs: uses: insightsengineering/r-verdepcheck-action@main with: github-token: ${{ steps.github-token.outputs.token }} - check-args: ${{ inputs.check-args }} + extra-deps: ${{ inputs.extra-deps }} build-args: ${{ inputs.build-args }} - additional-env-vars: ${{ inputs.additional-env-vars }} + check-args: ${{ inputs.check-args }} strategy: ${{ env.strategy }} + additional-env-vars: ${{ inputs.additional-env-vars }} - name: GChat notification 🔔 if: (failure() || cancelled()) && steps.verdepcheck.outcome != 'success' && env.gchat_webhook != '' diff --git a/.github/workflows/wasm.yaml b/.github/workflows/wasm.yaml new file mode 100644 index 000000000..cab817a82 --- /dev/null +++ b/.github/workflows/wasm.yaml @@ -0,0 +1,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/checkout@v4.1.1 + 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 diff --git a/DESCRIPTION b/DESCRIPTION index e9e24ac11..ba5c77688 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Type: Package Package: r.pkg.template Title: R Package Template -Version: 0.1.0.9167 -Date: 2024-06-18 +Version: 0.1.0.9169 +Date: 2024-06-25 Authors@R: person("insightsengineering", , , "insightsengineering@example.com", role = c("aut", "cre")) Description: R package template with GitHub Actions workflows included. diff --git a/NEWS.md b/NEWS.md index b5f4ce4fd..fa5975b23 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# r.pkg.template 0.1.0.9167 +# r.pkg.template 0.1.0.9169 ### New features