diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 8bd159c0..70ba2c0e 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -1,238 +1,238 @@ -name: CI +# name: CI -on: - push: - branches: - - main - pull_request: +# on: +# push: +# branches: +# - main +# pull_request: -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - DOCKER_BUILDKIT: 1 - PIP_BREAK_SYSTEM_PACKAGES: 1 +# env: +# REGISTRY: ghcr.io +# IMAGE_NAME: ${{ github.repository }} +# DOCKER_BUILDKIT: 1 +# PIP_BREAK_SYSTEM_PACKAGES: 1 -jobs: - changes: - runs-on: ubuntu-latest - permissions: - pull-requests: read - outputs: - pgdocker: ${{ steps.check.outputs.pgtag }} - buildpgdocker: ${{ steps.check.outputs.buildpg }} - pyrustdocker: ${{ steps.check.outputs.pytag }} - buildpyrustdocker: ${{ steps.check.outputs.buildpy }} +# jobs: +# changes: +# runs-on: ubuntu-latest +# permissions: +# pull-requests: read +# outputs: +# pgdocker: ${{ steps.check.outputs.pgtag }} +# buildpgdocker: ${{ steps.check.outputs.buildpg }} +# pyrustdocker: ${{ steps.check.outputs.pytag }} +# buildpyrustdocker: ${{ steps.check.outputs.buildpy }} - steps: - - uses: actions/checkout@v3 - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - pgstac: - - 'docker/pgstac/**' - pypgstac: - - 'docker/pypgstac/**' - - id: check - run: | - buildpg=false; - ref=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} | tr / _); - [[ "${{ steps.filter.outputs.pgstac }}" == "true" ]] && buildpg=true || ref=main; - echo "pgtag=${{ env.REGISTRY }}/stac-utils/pgstac-postgres:$ref" >>$GITHUB_OUTPUT; - echo "buildpg=$buildpg" >>$GITHUB_OUTPUT; - buildy=false; - [[ "${{ steps.filter.outputs.pypgstac }}" == "true" ]] && buildpy=true || ref=main; - echo "pytag=${{ env.REGISTRY }}/stac-utils/pgstac-pyrust:$ref" >>$GITHUB_OUTPUT; - echo "buildpy=$buildpg" >>$GITHUB_OUTPUT; +# steps: +# - uses: actions/checkout@v3 +# - uses: dorny/paths-filter@v2 +# id: filter +# with: +# filters: | +# pgstac: +# - 'docker/pgstac/**' +# pypgstac: +# - 'docker/pypgstac/**' +# - id: check +# run: | +# buildpg=false; +# ref=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} | tr / _); +# [[ "${{ steps.filter.outputs.pgstac }}" == "true" ]] && buildpg=true || ref=main; +# echo "pgtag=${{ env.REGISTRY }}/stac-utils/pgstac-postgres:$ref" >>$GITHUB_OUTPUT; +# echo "buildpg=$buildpg" >>$GITHUB_OUTPUT; +# buildy=false; +# [[ "${{ steps.filter.outputs.pypgstac }}" == "true" ]] && buildpy=true || ref=main; +# echo "pytag=${{ env.REGISTRY }}/stac-utils/pgstac-pyrust:$ref" >>$GITHUB_OUTPUT; +# echo "buildpy=$buildpg" >>$GITHUB_OUTPUT; - # This builds a base postgres image that has everything installed to be able to run pgstac. This image does not have pgstac itself installed. - buildpg: - name: Build and push base postgres image - if: ${{ needs.changes.outputs.buildpgdocker == 'true' }} - runs-on: ubuntu-latest - needs: [changes] - steps: - - uses: actions/checkout@v3 - - uses: docker/setup-buildx-action@v2 - - name: Log in to the Container registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and Push Base Postgres - uses: docker/build-push-action@v4 - with: - platforms: linux/amd64,linux/arm64 - context: . - target: pgstacbase - file: docker/pgstac/Dockerfile - tags: ${{ needs.changes.outputs.pgdocker }} - push: true - cache-from: type=gha - cache-to: type=gha, mode=max +# # This builds a base postgres image that has everything installed to be able to run pgstac. This image does not have pgstac itself installed. +# buildpg: +# name: Build and push base postgres image +# if: ${{ needs.changes.outputs.buildpgdocker == 'true' }} +# runs-on: ubuntu-latest +# needs: [changes] +# steps: +# - uses: actions/checkout@v3 +# - uses: docker/setup-buildx-action@v2 +# - name: Log in to the Container registry +# uses: docker/login-action@v2 +# with: +# registry: ${{ env.REGISTRY }} +# username: ${{ github.actor }} +# password: ${{ secrets.GITHUB_TOKEN }} +# - name: Build and Push Base Postgres +# uses: docker/build-push-action@v4 +# with: +# platforms: linux/amd64,linux/arm64 +# context: . +# target: pgstacbase +# file: docker/pgstac/Dockerfile +# tags: ${{ needs.changes.outputs.pgdocker }} +# push: true +# cache-from: type=gha +# cache-to: type=gha, mode=max - buildpyrust: - name: Build and push base pyrust - if: ${{ needs.changes.outputs.buildpyrustdocker == 'true' }} - runs-on: ubuntu-latest - needs: [changes] - steps: - - uses: actions/checkout@v3 - - uses: docker/setup-buildx-action@v2 - - name: Log in to the Container registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and Push Base pyrust - uses: docker/build-push-action@v4 - with: - platforms: linux/amd64,linux/arm64 - context: . - target: pyrustbase - file: docker/pypgstac/Dockerfile - tags: ${{ needs.changes.outputs.pyrustdocker }} - push: true - cache-from: type=gha - cache-to: type=gha, mode=max +# buildpyrust: +# name: Build and push base pyrust +# if: ${{ needs.changes.outputs.buildpyrustdocker == 'true' }} +# runs-on: ubuntu-latest +# needs: [changes] +# steps: +# - uses: actions/checkout@v3 +# - uses: docker/setup-buildx-action@v2 +# - name: Log in to the Container registry +# uses: docker/login-action@v2 +# with: +# registry: ${{ env.REGISTRY }} +# username: ${{ github.actor }} +# password: ${{ secrets.GITHUB_TOKEN }} +# - name: Build and Push Base pyrust +# uses: docker/build-push-action@v4 +# with: +# platforms: linux/amd64,linux/arm64 +# context: . +# target: pyrustbase +# file: docker/pypgstac/Dockerfile +# tags: ${{ needs.changes.outputs.pyrustdocker }} +# push: true +# cache-from: type=gha +# cache-to: type=gha, mode=max - test: - name: test - needs: [changes, buildpg, buildpyrust] - runs-on: ubuntu-latest - container: - image: ${{ needs.changes.outputs.pyrustdocker }} - env: - PGPASSWORD: postgres - PGHOST: postgres - PGDATABASE: postgres - PGUSER: postgres +# test: +# name: test +# needs: [changes, buildpg, buildpyrust] +# runs-on: ubuntu-latest +# container: +# image: ${{ needs.changes.outputs.pyrustdocker }} +# env: +# PGPASSWORD: postgres +# PGHOST: postgres +# PGDATABASE: postgres +# PGUSER: postgres - services: - postgres: - env: - POSTGRES_PASSWORD: postgres - image: ${{ needs.changes.outputs.pgdocker }} - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 +# services: +# postgres: +# env: +# POSTGRES_PASSWORD: postgres +# image: ${{ needs.changes.outputs.pgdocker }} +# options: >- +# --health-cmd pg_isready +# --health-interval 10s +# --health-timeout 5s +# --health-retries 5 - steps: - - uses: actions/checkout@v3 - - name: Install pypgstac - working-directory: /__w/pgstac/pgstac/src/pypgstac - run: | - pip install .[dev,test,psycopg]; +# steps: +# - uses: actions/checkout@v3 +# - name: Install pypgstac +# working-directory: /__w/pgstac/pgstac/src/pypgstac +# run: | +# pip install .[dev,test,psycopg]; - - name: Run tests - working-directory: /__w/pgstac/pgstac/docker/pypgstac/bin - run: | - ./test +# - name: Run tests +# working-directory: /__w/pgstac/pgstac/docker/pypgstac/bin +# run: | +# ./test - linux: - runs-on: ubuntu-latest - strategy: - matrix: - target: [x86_64, x86, aarch64, armv7, s390x, ppc64le] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - working-directory: src/pypgstac - target: ${{ matrix.target }} - args: --release --out /home/runner/work/pgstac/pgstac/dist - sccache: 'true' - manylinux: auto - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: /home/runner/work/pgstac/pgstac/dist/* +# linux: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# target: [x86_64, x86, aarch64, armv7, s390x, ppc64le] +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-python@v4 +# with: +# python-version: '3.10' +# - name: Build wheels +# uses: PyO3/maturin-action@v1 +# with: +# working-directory: src/pypgstac +# target: ${{ matrix.target }} +# args: --release --out /home/runner/work/pgstac/pgstac/dist +# sccache: 'true' +# manylinux: auto +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: /home/runner/work/pgstac/pgstac/dist/* - windows: - runs-on: windows-latest - strategy: - matrix: - target: [x64, x86] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.10' - architecture: ${{ matrix.target }} - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - working-directory: src/pypgstac - target: ${{ matrix.target }} - args: --release --out /home/runner/work/pgstac/pgstac/dist - sccache: 'true' - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: /home/runner/work/pgstac/pgstac/dist/* +# windows: +# runs-on: windows-latest +# strategy: +# matrix: +# target: [x64, x86] +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-python@v4 +# with: +# python-version: '3.10' +# architecture: ${{ matrix.target }} +# - name: Build wheels +# uses: PyO3/maturin-action@v1 +# with: +# working-directory: src/pypgstac +# target: ${{ matrix.target }} +# args: --release --out /home/runner/work/pgstac/pgstac/dist +# sccache: 'true' +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: /home/runner/work/pgstac/pgstac/dist/* - macos: - runs-on: macos-latest - strategy: - matrix: - target: [x86_64, aarch64] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - working-directory: src/pypgstac - target: ${{ matrix.target }} - args: --release --out /tmp/dist - sccache: 'true' - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: /tmp/dist/* +# macos: +# runs-on: macos-latest +# strategy: +# matrix: +# target: [x86_64, aarch64] +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-python@v4 +# with: +# python-version: '3.10' +# - name: Build wheels +# uses: PyO3/maturin-action@v1 +# with: +# working-directory: src/pypgstac +# target: ${{ matrix.target }} +# args: --release --out /tmp/dist +# sccache: 'true' +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: /tmp/dist/* - sdist: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Build sdist - uses: PyO3/maturin-action@v1 - with: - working-directory: src/pypgstac - command: sdist - args: --out /home/runner/work/pgstac/pgstac/dist - - name: Upload sdist - uses: actions/upload-artifact@v3 - with: - name: wheels - path: /home/runner/work/pgstac/pgstac/dist/* +# sdist: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Build sdist +# uses: PyO3/maturin-action@v1 +# with: +# working-directory: src/pypgstac +# command: sdist +# args: --out /home/runner/work/pgstac/pgstac/dist +# - name: Upload sdist +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: /home/runner/work/pgstac/pgstac/dist/* - # release: - # name: Release - # runs-on: ubuntu-latest - # if: "startsWith(github.ref, 'refs/tags/')" - # needs: [linux, windows, macos, sdist] - # steps: - # - uses: actions/download-artifact@v3 - # with: - # name: wheels - # - name: Publish to PyPI - # uses: PyO3/maturin-action@v1 - # env: - # MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} - # with: - # command: upload - # args: --skip-existing * +# # release: +# # name: Release +# # runs-on: ubuntu-latest +# # if: "startsWith(github.ref, 'refs/tags/')" +# # needs: [linux, windows, macos, sdist] +# # steps: +# # - uses: actions/download-artifact@v3 +# # with: +# # name: wheels +# # - name: Publish to PyPI +# # uses: PyO3/maturin-action@v1 +# # env: +# # MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} +# # with: +# # command: upload +# # args: --skip-existing *