setup-browser/.forgejo/workflows/build.yaml
bcarlin 1482f84a6a
All checks were successful
/ Build and upload binary (push) Successful in 1m1s
test workflow
2024-12-26 23:30:16 +01:00

59 lines
2.1 KiB
YAML

on:
push:
branches:
- main
#paths:
# - 'src/*.v'
jobs:
build:
name: Build and upload binary
runs-on: docker
steps:
- uses: actions/checkout@v4
- name: Install v
run: |
wget -q https://github.com/vlang/v/releases/latest/download/v_linux.zip
pushd /tmp
unzip -q $GITHUB_WORKSPACE/v_linux.zip
popd
rm v_linux.zip
/tmp/v/v version
- name: Build setup-browser
run: |
/tmp/v/v -prod .
- name: Upload binary as generic package and create a release
run: |
set -e
VERSION="$(date +'%y.%m.%d').$(git rev-parse --short HEAD)"
echo Download jq
wget -q https://github.com/jqlang/jq/releases/latest/download/jq-linux-amd64 -O jq
chmod +x jq
echo Create a tag
git tag "$VERSION"
git push --tags
echo Create a release
OUT=$(curl --silent -X POST -H "Authorization: token $GITHUB_TOKEN" \
-H "Content-Type: application/json" \
--data '{"name": "'$VERSION'", "tag_name": "'$VERSION'"}' \
"https://code.bcarlin.net/api/v1/repos/actions/setup-browser/releases" \
| tee /dev/stderr)
UP_URL=$(echo "$OUT" | ./jq -r .upload_url )
echo "upload url: $UP_URL"
#REL_ID=$(curl --silent -H "Authorization: token $GITHUB_TOKEN" "https://code.bcarlin.net/api/v1/repos/actions/setup-browser/releases/latest" | ./jq .id)
echo Add the binary to the release
set -x
curl -X 'POST' --header "Authorization: token $GITHUB_TOKEN" \
"$UP_URL" \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'attachment=@setup-browser'
# Upload the binary as a generic package
#curl -v --header "Authorization: token $GITHUB_TOKEN" \
# --upload-file setup-browser \
# "https://code.bcarlin.net/api/packages/actions/generic/setup-browser/$VERSION/setup-browser"