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