diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 283f5961..c6f31da8 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -23,7 +23,7 @@ on: jobs: get-version: name: Get pilot cli version - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: cli_version: ${{steps.get-version.outputs.cli_version}} steps: @@ -39,7 +39,7 @@ jobs: build-and-push-docker-image: needs: [get-version] name: Build Docker images and push to repositories - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 6321b157..f643d6db 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -69,7 +69,7 @@ jobs: push-binary-linux: needs: [ pre-build-setup ] if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest outputs: upload_url: ${{steps.create_release.outputs.upload_url}} steps: @@ -83,17 +83,12 @@ jobs: with: name: release-message - - name: Download Release Message Artifact - uses: actions/download-artifact@v4 - with: - name: release-message - - - name: Set up Python + - name: Set up Python for version extraction uses: actions/setup-python@v4 with: python-version: 3.10.12 - - name: Install Poetry + - name: Install Poetry for version extraction uses: snok/install-poetry@v1 with: version: 1.8.3 @@ -101,22 +96,27 @@ jobs: virtualenvs-in-project: true installer-parallel: true - - name: Set up cache - id: cached-poetry-dependencies - uses: actions/cache@v3 - with: - path: .venv - key: venv-linux-${{ hashFiles('**/poetry.lock') }} + - name: Build default binary using manylinux_2_31 + run: | + docker run --rm -v ${{ github.workspace }}:/io quay.io/pypa/manylinux_2_31_x86_64 bash -c " + cd /io + mkdir -p ./app/bundled_app/linux ./app/build/linux - - name: Ensure cache is healthy - if: steps.cached-poetry-dependencies.outputs.cache-hit == 'true' - run: timeout 10s poetry run pip --version || rm -rf .venv + # Install Poetry + curl -sSL https://install.python-poetry.org | python3 - + export PATH=\$PATH:/root/.local/bin - - name: Install dependencies - run: poetry install --no-interaction + # Configure and install dependencies + cd /io + poetry config virtualenvs.create false + poetry install --no-interaction + + # Install PyInstaller + pip install pyinstaller - - name: Build default binary - run: poetry run pyinstaller -F --distpath ./app/bundled_app/linux --specpath ./app/build/linux --workpath ./app/build/linux --paths=./.venv/lib/python3.10/site-packages ./app/pilotcli.py -n ${{ github.sha }} + # Build binary + pyinstaller -F --distpath ./app/bundled_app/linux --specpath ./app/build/linux --workpath ./app/build/linux ./app/pilotcli.py -n ${{ github.sha }} + " - name: Rename default output file run: mv "./app/bundled_app/linux/${{ github.sha }}" "./app/bundled_app/linux/pilotcli_linux" @@ -124,8 +124,17 @@ jobs: - name: Enable cloud mode run: touch ./app/ENABLE_CLOUD_MODE - - name: Build cloud binary - run: poetry run pyinstaller -F --distpath ./app/bundled_app/linux --specpath ./app/build/linux --workpath ./app/build/linux --paths=./.venv/lib/python3.9/site-packages --add-binary=$(pwd)/app/ENABLE_CLOUD_MODE:. ./app/pilotcli.py -n ${{ github.sha }} + - name: Build cloud binary using manylinux_2_31 + run: | + docker run --rm -v ${{ github.workspace }}:/io quay.io/pypa/manylinux_2_31_x86_64 bash -c " + cd /io + + # Poetry should already be installed from previous step + export PATH=\$PATH:/root/.local/bin + + # Build cloud binary + pyinstaller -F --distpath ./app/bundled_app/linux --specpath ./app/build/linux --workpath ./app/build/linux --add-binary=/io/app/ENABLE_CLOUD_MODE:. ./app/pilotcli.py -n ${{ github.sha }} + " - name: Rename cloud output file run: mv "./app/bundled_app/linux/${{ github.sha }}" "./app/bundled_app/linux/pilotcli_cloud" diff --git a/.github/workflows/update_compatible_version.yml b/.github/workflows/update_compatible_version.yml index f1a35732..2f85d6e0 100644 --- a/.github/workflows/update_compatible_version.yml +++ b/.github/workflows/update_compatible_version.yml @@ -9,7 +9,7 @@ on: jobs: update-compatible-versions: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/README.md b/README.md index b734fcf2..5762e844 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,9 @@ Command line tool that allows the user to execute data operations on the platfor | 3.19.2 | 2.15.2 | 2.15.2 | | 3.19.3 | 2.15.2 | 2.15.2 | | 3.19.4 | 2.15.2 | 2.15.2 | +| 3.19.5 | 2.15.2 | 2.15.2 | +| 3.19.6 | 2.15.2 | 2.15.2 | +| 3.19.7 | 2.15.2 | 2.15.2 | ## Build Instructions diff --git a/docs/compatible_version.ndjson b/docs/compatible_version.ndjson index 127ef959..d0ef7a37 100644 --- a/docs/compatible_version.ndjson +++ b/docs/compatible_version.ndjson @@ -13,3 +13,4 @@ {"Cli Version": "3.19.4", "Pilot Release Version": "2.15.2", "Compatible Version": "2.15.2"} {"Cli Version": "3.19.5", "Pilot Release Version": "2.15.2", "Compatible Version": "2.15.2"} {"Cli Version": "3.19.6", "Pilot Release Version": "2.15.2", "Compatible Version": "2.15.2"} +{"Cli Version": "3.19.7", "Pilot Release Version": "2.15.2", "Compatible Version": "2.15.2"} diff --git a/pyproject.toml b/pyproject.toml index 204702be..85872206 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "app" -version = "3.19.6" +version = "3.19.7" description = "This service is designed to support pilot platform" authors = ["Indoc Systems"]