diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..30148cf8 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,50 @@ +name: CI - CD +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + validations: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v3 + - name: Install dependencies + run: yarn + - name: Fullcheck + run: yarn fullcheck + + check_if_version_upgraded: + name: Check if version upgrade + # When someone forks the repo and opens a PR we want to enables the tests to be run (the previous jobs) + # but obviously only us should be allowed to release. + # In the following check we make sure that we own the branch this CI workflow is running on before continuing. + # Without this check, trying to release would fail anyway because only us have the correct secret.NPM_TOKEN but + # it's cleaner to stop the execution instead of letting the CI crash. + if: | + github.event_name == 'push' || + github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login + runs-on: ubuntu-latest + needs: validations + outputs: + from_version: ${{ steps.step1.outputs.from_version }} + to_version: ${{ steps.step1.outputs.to_version }} + is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} + is_pre_release: ${{steps.step1.outputs.is_pre_release }} + steps: + - uses: garronej/ts-ci@v2.1.0 + id: step1 + with: + action_name: is_package_json_version_upgraded + + docker: + needs: + - check_if_version_upgraded + runs-on: ubuntu-latest + steps: + - name: Docker build and push + run: echo "Docker build and push"