Create and publish release artifacts #46
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Create and publish release artifacts | |
| on: | |
| release: | |
| types: [ released ] | |
| #See: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#example-using-multiple-events-with-activity-types-or-configuration | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| upload_artifacts: | |
| name: Upload archives | |
| concurrency: upload | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| env: | |
| API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| RELEASE_BODY: ${{ github.event.release.body }} | |
| RELEASE_DATE: ${{ github.event.release.published_at }} | |
| RELEASE_URL: ${{ github.event.release.html_url }} | |
| TARGET_BRANCH: ${{ github.event.release.target_commitish }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ env.API_TOKEN_GITHUB }} | |
| - uses: c-py/action-dotenv-to-setenv@v5 | |
| with: | |
| env-file: .github/variables/.env | |
| - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action | |
| - name: Update CHANGELOG.md with release notes | |
| run: .github/scripts/update_changelog.sh | |
| - name: Set build version number env variables | |
| run: .github/scripts/set_release_version_numbers_env.sh | |
| - name: Update project version & build number in source code and documentation | |
| run: .github/scripts/update_project_version.sh | |
| - name: Build and publish documentation | |
| run: | | |
| pip install mkdocs | |
| pip install mkdocs-git-revision-date-localized-plugin | |
| pip install mkdocs-material | |
| pip install git+https://github.com/jimporter/mike.git | |
| mike deploy -p -u ${UTPLSQL_VERSION} latest | |
| mkdocs build --clean -f mkdocs_offline.yml | |
| rm -rf docs/* | |
| cp -r -v site/* docs | |
| git add . | |
| git commit -m "tmp commit of HTML documentation for building a release archive" | |
| - name: Build release archives | |
| run: | | |
| git archive --prefix=utPLSQL/ -o utPLSQL.zip --format=zip HEAD | |
| git archive --prefix=utPLSQL/ -o utPLSQL.tar.gz --format=tar.gz HEAD | |
| sha256sum utPLSQL.zip --tag > utPLSQL.zip.sha256 | |
| sha256sum utPLSQL.tar.gz --tag > utPLSQL.tar.gz.sha256 | |
| - name: Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| utPLSQL.zip | |
| utPLSQL.zip.sha256 | |
| utPLSQL.tar.gz | |
| utPLSQL.tar.gz.sha256 | |
| - name: Post release announcement to org discussions | |
| env: | |
| GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} | |
| run: .github/scripts/post_release_announcement.sh | |
| - name: Publish release post to utplsql.github.io | |
| run: .github/scripts/publish_release_post.sh | |