forked from cerc-io/stack-orchestrator
51 lines
1.6 KiB
YAML
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
|