minify-html/.github/workflows/deno.yml

59 lines
1.7 KiB
YAML

name: Build and publish Deno package
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Get version
id: version
shell: bash
run: echo ::set-output name=VERSION::"$([[ "$GITHUB_REF" == refs/tags/v* ]] && echo ${GITHUB_REF#refs/tags/v} || echo '0.0.0')"
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true
- name: Run prebuild steps
shell: bash
run: bash ./prebuild.sh
- name: Install wasm-pack
working-directory: ./wasm
shell: bash
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Build native module
working-directory: ./wasm
shell: bash
run: TARGET=web ./build
- name: Install B2 CLI
run: |
wget -O b2 https://github.com/Backblaze/B2_Command_Line_Tool/releases/latest/download/b2-linux
chmod +x b2
- name: Upload to B2
run: |
./b2 authorize-account ${{ secrets.CICD_CLI_B2_KEY_ID }} ${{ secrets.CICD_CLI_B2_APPLICATION_KEY }}
for f in wasm/pkg/*; do
if [[ "$f" == *.js ]]; then
content_type='text/javascript'
elif [[ "$f" == *.wasm ]]; then
content_type='application/wasm'
else
content_type='application/octet-stream'
fi
./b2 upload-file --contentType "$content_type" ${{ secrets.CICD_CLI_B2_BUCKET_NAME }} "$f" "minify-html/deno/${{ steps.version.outputs.VERSION }}/$(basename "$f")"
done