summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml72
1 files changed, 72 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..eac3ad2e
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,72 @@
+name: Release with GitHub, PyPi, DockerHub
+
+on:
+ push:
+ branches: [master]
+ tags:
+ - "v*.*.*"
+ pull_request:
+ branches: [master]
+ tags:
+ - "v*.*.*"
+
+jobs:
+ github_release:
+ name: Release on GitHub
+ runs-on: ubuntu-latest
+ if: github.repository == 'crocs-muni/sec-certs'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ with:
+ prerelease: true
+ generate_release_notes: true
+
+ pypi_release:
+ name: Release on PyPi
+ runs-on: ubuntu-latest
+ if: github.repository == 'crocs-muni/sec-certs'
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: "3.8"
+ - name: Install build dependencies
+ run: python -m pip install build wheel
+ - name: Build distributions
+ shell: bash -l {0}
+ run: python setup.py sdist bdist_wheel
+ - name: Publish package to PyPI
+ uses: pypa/gh-action-pypi-publish@master
+ with:
+ user: ${{ secrets.PYPI_USERNAME }}
+ password: ${{ secrets.PYPI_PASSWORD }}
+ docker:
+ name: Release on dockerhub
+ runs-on: ubuntu-latest
+ if: github.repository == 'crocs-muni/sec-certs'
+ steps:
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ - name: Set up Docker Build
+ uses: docker/setup-buildx-action@v1
+ - name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_PASSWORD }}
+ - name: Extract metadata (tags, labels) for Docker
+ id: meta
+ uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
+ with:
+ images: seccerts/sec-certs
+ - name: Build and push
+ id: docker_build
+ uses: docker/build-push-action@v2
+ with:
+ file: docker/Dockerfile
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}