stack-orchestrator/.gitea/workflows/publish.yml
2023-04-10 06:24:00 -06:00

51 lines
1.6 KiB
YAML

name: Publish
on:
pull_request:
branches: '*'
push:
branches: '*'
jobs:
publish:
name: "Build and publish"
runs-on: ubuntu-latest
steps:
- name: "Clone project repository"
uses: actions/checkout@v3
- name: "Get build info" # TODO: put this in a library
id: build-info
run: |
build_time=$(date +'%Y%m%d%H%M')
product_version=$( cat app/data/version.txt )
short_sha=$(git rev-parse --short HEAD)
build_tag=$(echo "v${product_version}-${short_sha}-${build_time}")
echo "build-time=${build_time}" >> $GITHUB_OUTPUT
echo "short-sha=${short_sha}" >> $GITHUB_OUTPUT
echo "build-tag=${build_tag}" >> $GITHUB_OUTPUT
- name: "Install Python"
uses: cerc-io/setup-python@v4
with:
python-version: '3.8'
- name: "Print Python version"
run: python3 --version
- name: "Install shiv"
run: pip install shiv
- name: "Build local shiv package"
id: build
# Build has to be done after deciding on the version because
# we bundle the version into the build
run: |
./scripts/build_shiv_package.sh
result_code=$?
echo "package-file=$(ls ./package/*)" >> $GITHUB_OUTPUT
exit $result_code
- name: "Stage artifact file"
run: |
cp ${{ steps.build.outputs.package-file }} ./laconic-so
- name: "Create release"
uses: cerc-io/action-gh-release@gitea-v1
with:
tag_name: "${{ steps.build-info.outputs.build-tag }}"
files: ./laconic-so