Release 1.2.4 #138
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: release | |
| on: | |
| push: | |
| tags: | |
| - '*.*.*' | |
| - '*.*.*-*' | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Build package using Poetry and store result | |
| uses: chaoss/grimoirelab-github-actions/build@main | |
| with: | |
| artifact-name: sirmordred-dist | |
| artifact-path: dist | |
| tests: | |
| name: Python ${{ matrix.python-version }} - OpenSearch ${{ matrix.opensearch-version }} | |
| needs: [build] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: [ "3.10", "3.11", "3.12" ] | |
| opensearch-version: [ "2", "3" ] | |
| services: | |
| mysql: | |
| image: mariadb:11.8 | |
| env: | |
| MYSQL_ROOT_PASSWORD: root | |
| ports: | |
| - 3306:3306 | |
| options: >- | |
| --health-cmd="healthcheck.sh --connect --innodb_initialized" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=3 | |
| valkey: | |
| image: valkey/valkey:8 | |
| ports: | |
| - 6379:6379 | |
| options: --health-cmd="valkey-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 | |
| opensearch: | |
| image: opensearchproject/opensearch:${{ matrix.opensearch-version }} | |
| env: | |
| discovery.type: single-node | |
| DISABLE_SECURITY_PLUGIN: "true" | |
| ports: | |
| - 9200:9200 | |
| - 9300:9300 | |
| options: >- | |
| --health-cmd="curl -fsSL http://localhost:9200/_cat/health?h=status | grep -E '^(green|yellow)$'" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=12 | |
| steps: | |
| - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
| - name: Download distribution artifact | |
| uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 | |
| with: | |
| name: sirmordred-dist | |
| path: dist | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Poetry | |
| run: | | |
| pipx install poetry | |
| - name: Install dev dependencies | |
| run: | | |
| poetry install --only dev --no-root | |
| - name: Install the package | |
| run: | | |
| PACKAGE=`(cd dist && ls *whl)` && echo $PACKAGE | |
| poetry run pip install --pre ./dist/$PACKAGE | |
| - name: Run Sortinghat Server | |
| env: | |
| SORTINGHAT_SECRET_KEY: "my-secret-key" | |
| SORTINGHAT_DB_DATABASE: "test_sh" | |
| SORTINGHAT_DB_PASSWORD: "root" | |
| SORTINGHAT_SUPERUSER_USERNAME: "admin" | |
| SORTINGHAT_SUPERUSER_PASSWORD: "admin" | |
| DJANGO_SETTINGS_MODULE: "sortinghat.config.settings" | |
| run: | | |
| poetry run sortinghat-admin --config sortinghat.config.settings setup --no-interactive | |
| poetry run django-admin runserver & | |
| poetry run sortinghatw --config sortinghat.config.settings & | |
| - name: Test package | |
| run: | | |
| cd tests && poetry run python run_tests.py | |
| release: | |
| needs: [tests] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Create a new release on the repository | |
| uses: chaoss/grimoirelab-github-actions/release@main | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| publish: | |
| needs: [tests] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Publish the package on PyPI | |
| uses: chaoss/grimoirelab-github-actions/publish@main | |
| with: | |
| artifact-name: sirmordred-dist | |
| artifact-path: dist | |
| pypi-api-token: ${{ secrets.PYPI_API_TOKEN }} |