diff --git a/.github/workflows/data-overview-linting.yml b/.github/workflows/data-overview-linting.yml new file mode 100644 index 0000000..5007517 --- /dev/null +++ b/.github/workflows/data-overview-linting.yml @@ -0,0 +1,43 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +# Pipeline that checks branches that have been pushed to "Main" OR are the source branch in a newly created pull request into "Main" +# Fails the test if there are Python syntax errors or undefined names OR pytest fails + +name: Pylint- AusCAT Data Overview Dashboard + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.8] + poetry-version: [1.1.12] + os: [ubuntu-20.04, macos-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Poetry + uses: abatilo/actions-poetry@v2.0.0 + with: + poetry-version: ${{ matrix.poetry-version }} + - name: Install Python modules with poetry + working-directory: ./dashboard + run: | + poetry run pip install --upgrade pip + poetry install + - name: Pylint + working-directory: ./dashboard + run: | + poetry run pylint dashboard + poetry run pylint data_availability diff --git a/.github/workflows/docker-data-overview.yml b/.github/workflows/docker-data-overview.yml new file mode 100644 index 0000000..d65b74f --- /dev/null +++ b/.github/workflows/docker-data-overview.yml @@ -0,0 +1,59 @@ +# Pipeline to build and push the AusCAT Data Availabilty Docker Image +# to the `auscat` DockerHub and to the australiancancerdatanetwork/auscat_etl +# GitHub Container Registry (GHCR) +name: Data Availability Docker Image Build/Push + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +on: + push: + branches: + - 'main' + +jobs: + build-push: + name: Build/Push Data Availability Docker Image to GHCR and DockerHub + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - name: Checkout `auscat_etl` repository + uses: actions/checkout@v3 + + - name: Login to GHCR + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to DockerHub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: auscat/data_availability_dashboard + + - name: Build and push Docker Image to Dockerhub + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: ./dashboard + push: true + tags: auscat/data_availability_dashboard:latest + + - name: Build and Push Docker Image to GHCR + uses: docker/build-push-action@v3 + with: + context: ./dashboard + push: true + tags: ghcr.io/australiancancerdatanetwork/auscat/data_availability_dashboard:latest