# This is a basic workflow to help you get started with Actions name: dev workflow env: IMAGE_NAME: ${{ github.repository }} # Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the master branch push: branches: [ master, main, dev ] pull_request: branches: [ master, main, dev ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "test" test: # The type of runner that the job will run on strategy: matrix: python-versions: [3.9] os: [ubuntu-18.04, macos-latest, windows-latest] runs-on: ${{ matrix.os }} # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-versions }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install poetry tox tox-gh-actions - name: test with tox run: tox - name: list files run: ls -l . - uses: codecov/codecov-action@v1 with: fail_ci_if_error: true files: coverage.xml dev_container: name: Create dev container runs-on: ubuntu-20.04 if: github.event_name != 'pull_request' strategy: matrix: python-versions: [3.9] # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-versions }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install poetry tox tox-gh-actions - name: Build wheels and source tarball run: >- poetry build - name: build container id: docker_build run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" - name: log in to container registry run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - name: push container image run: | IMAGE_ID=ghcr.io/$IMAGE_NAME # Change all uppercase to lowercase IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') echo IMAGE_ID=$IMAGE_ID echo VERSION=$VERSION docker tag $IMAGE_NAME $IMAGE_ID:dev docker push $IMAGE_ID:dev