Skip to content
Snippets Groups Projects
release.yml 1.85 KiB
Newer Older
Xiao Gui's avatar
Xiao Gui committed
name: Release
on:
  push: 
    branches:
      - master

jobs:
Xiao Gui's avatar
Xiao Gui committed
  check-version:
    outputs:
      package-version: ${{ steps.set-version.outputs.package-version-from-json }}
Xiao Gui's avatar
Xiao Gui committed
    runs-on: ubuntu-latest
    steps:
Xiao Gui's avatar
Xiao Gui committed

    - name: Checkout
Xiao Gui's avatar
Xiao Gui committed
      uses: actions/checkout@v3
Xiao Gui's avatar
Xiao Gui committed
    - name: Set version
      id: set-version
      run: |
        PACKAGEJSON_VER=v$(cat package.json | jq -r '.version')
        echo "package-version-from-json=$PACKAGEJSON_VER" >> $GITHUB_OUTPUT
Xiao Gui's avatar
Xiao Gui committed
      
  create-release:
    needs: check-version
    if: success()
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
Xiao Gui's avatar
Xiao Gui committed
    - name: Create Release
      id: create_release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        tag_name: ${{ needs.check-version.outputs.package-version }}
        release_name: Release ${{ needs.check-version.outputs.package-version }}
        body_path: docs/releases/${{ needs.check-version.outputs.package-version }}.md
Xiao Gui's avatar
Xiao Gui committed
        draft: false
        prerelease: false
Xiao Gui's avatar
Xiao Gui committed
    - name: Use Node.js 16.x 
      uses: actions/setup-node@v1
      with:
        node-version: '16.x'
        
    - name: Build & zip assets
      run: |
        STRICT_LOCAL=true node ./src/environments/parseEnv.js
Xiao Gui's avatar
Xiao Gui committed
        npm i && npm run build
        zip -r siibra-explorer-${{ needs.check-version.outputs.package-version }}.zip ./dist
    - name: Attach built as release asset
      id: upload-release-asset 
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./siibra-explorer-${{ needs.check-version.outputs.package-version }}.zip
        asset_name: siibra-explorer-${{ needs.check-version.outputs.package-version }}.zip
        asset_content_type: application/zip