diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 14952712..98f74805 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,65 +12,60 @@ env: jobs: test: - name: Test Code runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.8] steps: - - uses: actions/checkout@v3 + - name: ๐Ÿ›ซ Checkout + uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} + - name: ๐Ÿ Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: Install Python Packages + - name: ๐Ÿ›  Install Dependencies run: | python -m pip install --upgrade pip python -m pip install pipenv pipenv install --dev - - name: Check Code Format + - name: ๐Ÿ”Ž Check Code Format run: if ! pipenv run black --check .; then exit 1; fi - - name: Check Migrations + - name: ๐Ÿ”Ž Check Migrations run: pipenv run python manage.py makemigrations --check --dry-run # TODO: assert code coverage target. - - name: Test Code Units + - name: ๐Ÿงช Test Code Units run: pipenv run pytest - release: - name: Publish Release - concurrency: release + sync: runs-on: ubuntu-latest needs: [test] - if: github.ref == 'refs/heads/main' steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - fetch-depth: 0 + - name: ๐Ÿ›ซ Checkout + uses: actions/checkout@v3 - - name: Set up Python + - name: ๐Ÿ Set up Python uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} - - name: Install Dependencies + - name: ๐Ÿ›  Install Dependencies run: | python -m pip install --upgrade pip # pipenv-setup requires downgraded vistir: https://github.com/Madoshakalaka/pipenv-setup/issues/138 - python -m pip install python-semantic-release~=7.33 pipenv-setup[black]==3.2.0 vistir==0.6.1 + python -m pip install pipenv-setup[black]==3.2.0 vistir==0.6.1 - - name: Setup Git + - name: โš™๏ธ Configure Git run: | - git config --local user.name github-actions - git config --local user.email github-actions@github.com + git config --local user.name cfl-bot + git config --local user.email codeforlife-bot@ocado.com - - name: Sync Setup Dependencies + - name: ๐Ÿ”„ Sync Setup Dependencies run: | pipenv-setup sync git add setup.py @@ -81,7 +76,32 @@ jobs: git push fi - - name: Publish Semantic Release + release: + concurrency: release + runs-on: ubuntu-latest + needs: [sync] + if: github.ref_name == 'main' + steps: + - name: ๐Ÿ›ซ Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + fetch-depth: 0 + + - name: ๐Ÿ”„ Sync Setup Dependencies + run: git pull + + - name: ๐Ÿ Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: ๐Ÿ›  Install Dependencies + run: | + python -m pip install --upgrade pip + python -m pip install python-semantic-release~=7.33 + + - name: ๐Ÿš€ Publish Semantic Release env: GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} run: semantic-release publish --verbosity=INFO