From 1edb63cc9e5d5068f1ba67df51b0c7fb3971812e Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Fri, 26 Feb 2021 22:31:35 +0100 Subject: [PATCH] update --- .github/workflows/ci.yaml | 96 +++++++++++++++++++++++++++++++++++- ci.yaml | 101 -------------------------------------- 2 files changed, 95 insertions(+), 102 deletions(-) delete mode 100644 ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2e259b3..ec04834 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,6 +3,9 @@ on: push: branches: - develop + pull_request: + branches: + - develop jobs: @@ -10,4 +13,95 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - run: echo DONE \ No newline at end of file + - run: echo DONE + + test_lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + - run: npm ci + - name: Making sure 'npm run lint' and 'npm run format' does not changes anything. + run: | + sleep 15 + npm run lint:check + npm run format:check + test_node: + runs-on: ${{ matrix.os }} + needs: test_lint + strategy: + matrix: + node: [ '14', '13', '12' ] + os: [ windows-latest, ubuntu-latest ] + name: Test with Node v${{ matrix.node }} on ${{ matrix.os }} + steps: + - name: Tell if project is using npm or yarn + id: _1 + uses: garronej/github_actions_toolkit@v1.11 + with: + action_name: tell_if_project_uses_npm_or_yarn + owner: ${{github.repository_owner}} + repo: ${{github.event.repository.name}} + branch: ${{github.ref}} + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + - if: steps._1.npm_or_yarn == 'yarn' + run: | + yarn install --frozen-lockfile + yarn run build + yarn run test + - if: steps._1.npm_or_yarn == 'npm' + run: | + npm ci + npm run build + npm run test + trigger_publish: + name: Trigger publish.yaml workflow if package.json version updated ( and secrets.PAT is set ). + runs-on: ubuntu-latest + env: + PAT: ${{secrets.PAT}} + if: github.event_name == 'push' && github.event.head_commit.author.name != 'ts_ci' + needs: test_node + steps: + + - name: Get version on latest + id: v_latest + uses: garronej/github_actions_toolkit@v1.11 + with: + action_name: get_package_json_version + owner: ${{github.repository_owner}} + repo: ${{github.event.repository.name}} + branch: latest + compare_to_version: '0.0.0' + + - name: Get version on develop + id: v_develop + uses: garronej/github_actions_toolkit@v1.11 + with: + action_name: get_package_json_version + owner: ${{github.repository_owner}} + repo: ${{github.event.repository.name}} + branch: ${{ github.sha }} + compare_to_version: ${{steps.v_latest.outputs.version || '0.0.0'}} + + - name: 'Trigger the ''publish'' workflow' + if: ${{ !!env.PAT && steps.v_develop.outputs.compare_result == '1' }} + uses: garronej/github_actions_toolkit@v1.11 + env: + GITHUB_TOKEN: ${{ secrets.PAT }} + with: + action_name: dispatch_event + owner: ${{github.repository_owner}} + repo: ${{github.event.repository.name}} + event_type: publish + client_payload_json: | + ${{ + format( + '{{"from_version":"{0}","to_version":"{1}","repo":"{2}"}}', + steps.v_latest.outputs.version, + steps.v_develop.outputs.version, + github.event.repository.name + ) + }} \ No newline at end of file diff --git a/ci.yaml b/ci.yaml deleted file mode 100644 index 983700c..0000000 --- a/ci.yaml +++ /dev/null @@ -1,101 +0,0 @@ -name: ci -on: - push: - branches: - - develop - pull_request: - branches: - - develop - -jobs: - - test_lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - run: npm ci - - name: Making sure 'npm run lint' and 'npm run format' does not changes anything. - run: | - sleep 15 - npm run lint:check - npm run format:check - test_node: - runs-on: ${{ matrix.os }} - needs: test_lint - strategy: - matrix: - node: [ '14', '13', '12' ] - os: [ windows-latest, ubuntu-latest ] - name: Test with Node v${{ matrix.node }} on ${{ matrix.os }} - steps: - - name: Tell if project is using npm or yarn - id: _1 - uses: garronej/github_actions_toolkit@v1.11 - with: - action_name: tell_if_project_uses_npm_or_yarn - owner: ${{github.repository_owner}} - repo: ${{github.event.repository.name}} - branch: ${{github.ref}} - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node }} - - if: steps._1.npm_or_yarn == 'yarn' - run: | - yarn install --frozen-lockfile - yarn run build - yarn run test - - if: steps._1.npm_or_yarn == 'npm' - run: | - npm ci - npm run build - npm run test - trigger_publish: - name: Trigger publish.yaml workflow if package.json version updated ( and secrets.PAT is set ). - runs-on: ubuntu-latest - env: - PAT: ${{secrets.PAT}} - if: github.event_name == 'push' && github.event.head_commit.author.name != 'ts_ci' - needs: test_node - steps: - - - name: Get version on latest - id: v_latest - uses: garronej/github_actions_toolkit@v1.11 - with: - action_name: get_package_json_version - owner: ${{github.repository_owner}} - repo: ${{github.event.repository.name}} - branch: latest - compare_to_version: '0.0.0' - - - name: Get version on develop - id: v_develop - uses: garronej/github_actions_toolkit@v1.11 - with: - action_name: get_package_json_version - owner: ${{github.repository_owner}} - repo: ${{github.event.repository.name}} - branch: ${{ github.sha }} - compare_to_version: ${{steps.v_latest.outputs.version || '0.0.0'}} - - - name: 'Trigger the ''publish'' workflow' - if: ${{ !!env.PAT && steps.v_develop.outputs.compare_result == '1' }} - uses: garronej/github_actions_toolkit@v1.11 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - action_name: dispatch_event - owner: ${{github.repository_owner}} - repo: ${{github.event.repository.name}} - event_type: publish - client_payload_json: | - ${{ - format( - '{{"from_version":"{0}","to_version":"{1}","repo":"{2}"}}', - steps.v_latest.outputs.version, - steps.v_develop.outputs.version, - github.event.repository.name - ) - }} \ No newline at end of file