paritytech/substrate-light-ui

View on GitHub
.github/workflows/pr.yml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  # Lint the code
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: yarn install
      - run: ./scripts/prestart.sh
      - run: yarn lint

  # Test the code
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: yarn install
      - run: yarn test

  # Create a .zip containing the browser extension
  package-extension:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: yarn install
      - run: yarn package:extension
      - uses: actions/upload-artifact@v1
        with:
          name: slui-${{ github.sha }}
          path: ./packages/extension-app/master-build.zip

  # Create a draft release on each master with the extension zip
  draft-release:
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/master'
    needs: package-extension
    steps:
      - uses: actions/checkout@v2
      - name: Download extension zip
        uses: actions/download-artifact@v1
        with:
          name: slui-${{ github.sha }}
      - name: Get current date # https://stackoverflow.com/questions/60942067/get-current-date-and-time-in-github-workflows
        id: date
        run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M')"
      - name: Delete previous draft releases
        # Our draft release has tag_name `draft`, see tag_name below.
        run: hub release delete draft
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: Create Draft Release
        uses: softprops/action-gh-release@v1
        with:
          body: |
            This draft release holds a zip file of the Lichen browser extension, built with latest master. As a draft release, it is meant for internal testing by `paritytech` members.
            
            Last build on ${{ steps.date.outputs.date }}.
          draft: true
          files: slui-${{ github.sha }}/master-build.zip
          name: Latest master draft release
          tag_name: draft
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}