name: ci on: [push, pull_request, release] jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Run yarn fmt uses: ./ci/image with: args: yarn && yarn vscode && yarn fmt env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Run yarn lint uses: ./ci/image with: args: yarn && yarn vscode && yarn lint env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Run yarn test uses: ./ci/image with: args: yarn && yarn vscode && yarn test env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} release-linux-amd64: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Run release.sh uses: ./ci/image with: args: yarn && yarn vscode && ./ci/release.sh env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} release-macos: runs-on: macos-latest steps: - uses: actions/checkout@v1 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Run release.sh run: yarn && yarn vscode && ./ci/release.sh env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}