wasm-pack-plugin
This commit is contained in:
parent
3cc78352a6
commit
560039fa3c
|
@ -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
|
|
@ -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
|
|
@ -1,2 +0,0 @@
|
|||
FROM rust
|
||||
RUN cargo install wasm-pack
|
|
@ -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"]
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue