This commit is contained in:
26
.drone.yml
Normal file
26
.drone.yml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: deploy to git.coopcloud.tech
|
||||||
|
steps:
|
||||||
|
- name: run shellcheck
|
||||||
|
image: debian:buster
|
||||||
|
commands:
|
||||||
|
- apt update
|
||||||
|
- apt install -y shellcheck
|
||||||
|
- shellcheck plugin.sh
|
||||||
|
|
||||||
|
- name: publish image
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
username: abra-bot
|
||||||
|
password:
|
||||||
|
from_secret: git_coopcloud_tech_token_abra_bot
|
||||||
|
repo: git.coopcloud.tech/toolshed/drone-xgotext
|
||||||
|
registry: git.coopcloud.tech
|
||||||
|
tags: latest
|
||||||
|
purge: true
|
||||||
|
pull_image: true
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
9
Dockerfile
Normal file
9
Dockerfile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM golang:1.24-alpine AS build
|
||||||
|
|
||||||
|
RUN go install github.com/leonelquinteros/gotext/cli/xgotext@latest
|
||||||
|
|
||||||
|
WORKDIR /drone/src
|
||||||
|
|
||||||
|
COPY plugin.sh /plugin/plugin.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["/plugin/plugin.sh"]
|
30
README.md
Normal file
30
README.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# drone-abra
|
||||||
|
|
||||||
|
[](https://build.coopcloud.tech/toolshed/drone-abra)
|
||||||
|
|
||||||
|
Use [`xgotext` ](https://github.com/leonelquinteros/gotext/tree/master/cli/xgotext) as a Drone plugin.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
### Optional
|
||||||
|
|
||||||
|
- **in**: (default: `/drone/src`) The source directory to scan for Gettext settings
|
||||||
|
- **out:** (default: `/drone/src/locales`) The target directory in which to create a `pot` file.
|
||||||
|
- **exclude** (default: `.git`) Comma-separated directories to exclude from processing
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: Update Gettext catalog template
|
||||||
|
steps:
|
||||||
|
- name: Run xgotext
|
||||||
|
image: git.coopcloud.tech/toolshed/drone-xgotext
|
||||||
|
```
|
||||||
|
|
||||||
|
## Publishing
|
||||||
|
|
||||||
|
The version can be bumped in the [.drone.yml](./.drone.yml) file. We're sticking with `latest` as we iterate on the code right now.
|
||||||
|
|
||||||
|
If you push a commit to master, the [Drone config](./.drone.yml) will publish to `git.coopcloud.tech`.
|
15
makefile
Normal file
15
makefile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.PHONY: build push shellcheck
|
||||||
|
|
||||||
|
shellcheck:
|
||||||
|
@docker run \
|
||||||
|
-it \
|
||||||
|
--rm \
|
||||||
|
-v $$(pwd):/workdir \
|
||||||
|
koalaman/shellcheck-alpine \
|
||||||
|
shellcheck /workdir/plugin.sh
|
||||||
|
|
||||||
|
build:
|
||||||
|
@ docker build -t git.coopcloud.tech/toolshed/drone-xgotext .
|
||||||
|
|
||||||
|
push: build
|
||||||
|
@docker push git.coopcloud.tech/toolshed/drone-xgotext
|
23
plugin.sh
Executable file
23
plugin.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
PLUGIN_IN=${PLUGIN_IN:-/drone/src/}
|
||||||
|
PLUGIN_OUT=${PLUGIN_OUT:-/drone/src/locales/}
|
||||||
|
PLUGIN_EXCLUDE=${PLUGIN_EXCLUDE:-}
|
||||||
|
|
||||||
|
run_xgotext_cmd() {
|
||||||
|
echo "--- start command ---"
|
||||||
|
|
||||||
|
xgotext -in "$PLUGIN_IN" -out "$PLUGIN_OUT" ${PLUGIN_EXCLUDE:+-exclude} "$PLUGIN_EXCLUDE"
|
||||||
|
|
||||||
|
echo "--- end command ---"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_plugin() {
|
||||||
|
echo "--- start drone-xgotext ---"
|
||||||
|
run_xgotext_cmd
|
||||||
|
echo "--- end drone-xgotext ---"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_plugin
|
Reference in New Issue
Block a user