--- # File : ci.yml name: 'ci' on: push: branches: - '!main' defaults: run: shell: 'bash' jobs: changes: runs-on: 'ubuntu-latest' outputs: ts: ${{ steps.filter.outputs.ts }} steps: - uses: actions/checkout@v2 - name: '[check if build necessary]' uses: dorny/paths-filter@v2 id: filter with: filters: | ts: - '*.ts' - '*.tsx' - '*.json' lint-test-build: name: '[ci|lint-test-build]' runs-on: 'ubuntu-latest' needs: changes if: ${{ needs.changes.outputs.ts == 'true' }} steps: - name: '[checkout] ${{ github.repository }} project' uses: 'actions/checkout@v2' with: repository: '${{ github.repository }}' - name: '[lint]' run: | echo TBA some linting - name: '[test]' run: | echo TBA some testing - name: '[build]' run: | git config --global url."https://github.com/".insteadOf ssh://git@github.com/ git config --global url."https://".insteadOf git:// git config --global url."https://".insteadOf ssh:// yarn yarn build ... # End of ci.yml