# Combined workflow to build and create release | |
## It's an hack until https://github.community/t/triggering-a-new-workflow-from-another-workflow/16250/24 is solved by Github | |
--- | |
name: Build and Release | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
build: | |
name: Create Release branch and Tag | |
runs-on: ubuntu-latest | |
outputs: | |
tag: "v${{ steps.vars.outputs.pkg_version }}" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup node | |
uses: actions/setup-node@v2-beta | |
with: | |
node-version: "12" | |
- name: npm install | |
uses: bahmutov/npm-install@v1 | |
- name: Build package | |
run: npm run build | |
- name: Get package version | |
id: vars | |
shell: bash | |
run: | | |
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" | |
echo "::set-output name=pkg_version::$(node -e "console.log(require('./package.json').version);")" | |
- name: Add & Commit | |
uses: EndBug/add-and-commit@v4.2.0 | |
with: | |
add: "dist" | |
force: true | |
message: "Built ${{ steps.vars.outputs.sha_short }}" | |
ref: "release/v${{ steps.vars.outputs.pkg_version }}" | |
tag: "v${{ steps.vars.outputs.pkg_version }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Provided by Github Actions | |
release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Provided by Github Actions | |
with: | |
tag_name: ${{ needs.build.outputs.tag }} | |
release_name: Release ${{ needs.build.outputs.tag }} | |
draft: false | |
prerelease: false |