diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2010d23 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.idea +.mypy* +.vscode +venv \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..d47acf5 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,60 @@ + +name: Production release + +on: + push: + tags: + - '*' + +env: + MM_NOTIFICATION_CHANNEL: 'bso-bot' + +jobs: + publish-ghcr: + name: Docker image + runs-on: ubuntu-latest + steps: + - name: 🏁 Checkout + uses: actions/checkout@v3 + + - name: 🔑 Login docker + run: docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} + + - name: 🐋 Build docker image + run: make docker-build + + - name: 📦 Push docker image + run: make docker-push + + release: + name: Release new version + runs-on: ubuntu-latest + needs: publish-ghcr + steps: + - name: 🏁 Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 🏷️ Get tag + id: tag + run: echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + + - name: 📦 Create release + uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.tag.outputs.tag }} + name: ${{ steps.tag.outputs.tag }} + + notify: + needs: release + if: always() + runs-on: ubuntu-latest + steps: + - uses: dataesr/mm-notifier-action@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN}} + mattermost_channel: ${{ env.MM_NOTIFICATION_CHANNEL}} + mattermost_webhook_url: ${{ secrets.MATTERMOST_WEBHOOK_URL }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2010d23 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea +.mypy* +.vscode +venv \ No newline at end of file diff --git a/README.md b/README.md index 51320af..b658b49 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ ![GitHub](https://img.shields.io/github/license/dataesr/harvest-openalex) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/dataesr/harvest-openalex) +![Build](https://github.com/dataesr/harvest-openalex/actions/workflows/build.yml/badge.svg) ## Release To create a new release: