wasm-pack-plugin
ci/woodpecker/push/wasm-o-x-rust Pipeline was successful Details
ci/woodpecker/push/tools-wasm-pack-plugin Pipeline failed Details

This commit is contained in:
Gleb Koval 2022-08-06 20:32:27 +00:00
parent 3cc78352a6
commit 560039fa3c
Signed by: cyclane
GPG Key ID: 15E168A8B332382C
6 changed files with 94 additions and 19 deletions

View File

@ -1,17 +0,0 @@
pipeline:
build and publish:
image: plugins/docker
settings:
registry: git.koval.net
username: cyclane
password:
from_secret: DEPLOY_TOKEN
repo: git.koval.net/cyclane/game-algorithms/wasm-pack
tags: latest
context: tools/wasm-pack-docker
dockerfile: tools/wasm-pack-docker/Dockerfile
when:
path:
include:
- tools/wasm-pack-docker/Dockerfile
- .woodpecker/tools-wasm-pack-docker.yml

View File

@ -0,0 +1,25 @@
clone:
git:
image: woodpeckerci/plugin-git
when:
path:
include:
- tools/wasm-pack-plugin/Dockerfile
- .woodpecker/tools-wasm-pack-plugin.yml
pipeline:
build and publish:
image: plugins/docker
settings:
registry: git.koval.net
username: cyclane
password:
from_secret: DEPLOY_TOKEN
repo: git.koval.net/cyclane/game-algorithms/wasm-pack-plugin
tags: latest
context: tools/wasm-pack-plugin
dockerfile: tools/wasm-pack-plugin/Dockerfile
when:
path:
include:
- tools/wasm-pack-plugin/*
- .woodpecker/tools-wasm-pack-plugin.yml

View File

@ -1,2 +0,0 @@
FROM rust
RUN cargo install wasm-pack

View File

@ -0,0 +1,12 @@
FROM rust:alpine
RUN apk add --no-cache \
npm \
musl-dev \
make \
&& cargo install wasm-pack \
&& rustup target add wasm32-unknown-unknown
COPY plugin.sh /plugin.sh
ENTRYPOINT ["/plugin.sh"]

View File

@ -0,0 +1,20 @@
# wasm-pack plugin
This is a drone/woodpecker plugin for building and publishing wasm-pack packages.
## Settings
- `actions` (required): Actions (see below) to run
- `folder`: Project folder
- `scope`: NPM package scope
### Build
- `build_profile` (default=`release`): Build profile to use for `wasm-pack build`
- `make`: Optionally run a make target building
### Publish
- `username` (required): NPM registry username
- `token` (required): NPM registry auth token (secret recommended)
- `registry` (default=`https://registry.npmjs.org`): NPM registry to publish to

View File

@ -0,0 +1,37 @@
#!/bin/sh
# Properties: actions
# username, token, registry=https://registry.npmjs.org, scope, folder=.
# build_profile=release, make
# publish: username, token
# build:
set -eu
cd ${PLUGIN_FOLDER:-.}
if [[ "${PLUGIN_ACTIONS}" =~ '(^|,)build(,|$)' ]]; then
if [ "${PLUGIN_SCOPE:-}" = "" ]; then
wasm-pack build --${PLUGIN_BUILD_PROFILE:-release}
else
wasm-pack build --${PLUGIN_BUILD_PROFILE:-release} --scope ${PLUGIN_SCOPE}
fi
if [ "${PLUGIN_MAKE:-}" != ""]; then
make ${PLUGIN_MAKE}
fi
fi
if [[ "${PLUGIN_ACTIONS}" =~ '(^|,)publish(,|$)' ]]; then
REGISTY=${PLUGIN_REGISTRY:-https://registry.npmjs.org/}
if [ "${PLUGIN_SCOPE:-}" = "" ]; then
npm config set registry ${REGISTRY}
else
npm config set ${PLUGIN_SCOPE}:registry ${REGISTRY}
fi
npm config set -- $(echo ${REGISTRY} | sed -Ee "s/^https?://"):_authToken "${PLUGIN_TOKEN}"
npm publish
fi