59 lines
2.1 KiB
YAML
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"
|