diff --git a/.github/actions/black/action.yml b/.github/actions/black/action.yml index 704b7258a..2063f9024 100644 --- a/.github/actions/black/action.yml +++ b/.github/actions/black/action.yml @@ -11,7 +11,6 @@ runs: steps: - name: Cancel previous running workflows uses: fkirc/skip-duplicate-actions@master - - uses: actions/checkout@v3 - name: Install poetry shell: bash working-directory: ${{ inputs.current_package }} diff --git a/.github/actions/changes/action.yml b/.github/actions/changes/action.yml index e2975f68f..98bc7e9c2 100644 --- a/.github/actions/changes/action.yml +++ b/.github/actions/changes/action.yml @@ -1,4 +1,8 @@ name: Changes +outputs: + packages: + description: changes on all sub packages + value: ${{ toJSON(steps.changes.outputs) }} runs: using: "composite" steps: @@ -6,11 +10,15 @@ runs: id: changes with: filters: | - ./src/datasource_toolkit/: + datasource_toolkit: - 'src/datasource_toolkit/**' - ./src/datasource_sqlalchemy: + datasource_sqlalchemy: - 'src/datasource_sqlalchemy/**' - ./src/agent_toolkit: + datasource_django: + - 'src/datasource_django/**' + agent_toolkit: - 'src/agent_toolkit/**' - ./src/flask_agent: + flask_agent: - 'src/flask_agent/**' + django_agent: + - 'src/django_agent/**' diff --git a/.github/actions/coverage/action.yml b/.github/actions/coverage/action.yml index cb258d0ab..9869110a9 100644 --- a/.github/actions/coverage/action.yml +++ b/.github/actions/coverage/action.yml @@ -13,7 +13,6 @@ inputs: runs: using: "composite" steps: - - uses: actions/checkout@v3 - name: Install poetry shell: bash working-directory: ./src/ @@ -45,7 +44,7 @@ runs: # debug # - name: Archive code coverage final results - # uses: actions/upload-artifact@v2 + # uses: actions/upload-artifact@v4 # with: # name: coverage.xml # path: ./src/coverage.xml diff --git a/.github/actions/isort/action.yml b/.github/actions/isort/action.yml index d6563ac6c..3067c0e1a 100644 --- a/.github/actions/isort/action.yml +++ b/.github/actions/isort/action.yml @@ -11,7 +11,6 @@ runs: steps: - name: Cancel previous running workflows uses: fkirc/skip-duplicate-actions@master - - uses: actions/checkout@v3 - name: Install poetry shell: bash working-directory: ${{ inputs.current_package }} diff --git a/.github/actions/linting/action.yml b/.github/actions/linting/action.yml index e3f8fe77a..5315ca9bd 100644 --- a/.github/actions/linting/action.yml +++ b/.github/actions/linting/action.yml @@ -12,7 +12,6 @@ runs: steps: - name: Cancel previous running workflows uses: fkirc/skip-duplicate-actions@master - - uses: actions/checkout@v3 - name: Install poetry shell: bash working-directory: ${{ inputs.current_package }} diff --git a/.github/actions/pypi/action.yml b/.github/actions/pypi/action.yml index ad631412b..6c97054a1 100644 --- a/.github/actions/pypi/action.yml +++ b/.github/actions/pypi/action.yml @@ -15,7 +15,6 @@ runs: steps: - name: Cancel previous running workflows uses: fkirc/skip-duplicate-actions@master - - uses: actions/checkout@v3 - name: Install poetry shell: bash working-directory: ${{ inputs.current_package }} diff --git a/.github/actions/release/action.yml b/.github/actions/release/action.yml index 78f9501ad..680ce6ef8 100644 --- a/.github/actions/release/action.yml +++ b/.github/actions/release/action.yml @@ -33,14 +33,16 @@ outputs: runs: using: "composite" steps: - - uses: actions/checkout@v3 + # this is certainly useless, but theses params seems to be here for a good reason. + # I added theses params to the related job in workflows.yml, but still afraid to test + - uses: actions/checkout@v4 with: fetch-depth: 0 persist-credentials: false # GITHUB_TOKEN must not be set for the semantic release - uses: actions/setup-node@v2 with: node-version: 14.17.6 - # - uses: actions/cache@v2 + # - uses: actions/cache@v4 # with: # path: '**/node_modules' # key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} diff --git a/.github/actions/tests/action.yml b/.github/actions/tests/action.yml index 6bdb31b3b..7c40d1ef0 100644 --- a/.github/actions/tests/action.yml +++ b/.github/actions/tests/action.yml @@ -10,16 +10,16 @@ inputs: runs: using: "composite" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + - name: Install poetry + shell: bash + run: pipx install poetry - name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ inputs.python-version }} - # cache: 'poetry' - - name: Install poetry - uses: snok/install-poetry@v1 - with: - version: 1.7.1 + # We are not caching here, because it's impossible to have less than 160MB of cache, meaning + # *6 subpackage, * 5 python version = 5GB, it's too much. - name: Install package dependencies shell: bash working-directory: ${{ inputs.current_package }} diff --git a/.github/workflows/generic.yml b/.github/workflows/generic.yml index f5d583936..f67a8548e 100644 --- a/.github/workflows/generic.yml +++ b/.github/workflows/generic.yml @@ -27,10 +27,13 @@ jobs: changes: name: changes runs-on: ubuntu-latest + outputs: + packages: ${{ steps.changes.outputs.packages }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: changes uses: ./.github/actions/changes + lint: name: Linting needs: [ changes ] @@ -40,9 +43,19 @@ jobs: python-version: ['3.10'] current_package: ${{ fromJson(inputs.packages) }} steps: - - uses: actions/checkout@v3 + - name: has change in sub package + id: has_change + run: | + PACKAGE_NAME=$(echo $PACKAGE | cut -d'/' -f3) + echo "has_change=$(echo $CHANGES | jq -r .$PACKAGE_NAME)" >> $GITHUB_OUTPUT + shell: bash + env: + PACKAGE: ${{ matrix.current_package }} + CHANGES: ${{ needs.changes.outputs.packages }} + - uses: actions/checkout@v4 + if: ${{ steps.has_change.outputs.has_change != 'false' }} - id: lint - if: needs.changes.steps.changes.outputs.${{ matrix.current_package }} == 'true' + if: ${{ steps.has_change.outputs.has_change != 'false' }} uses: ./.github/actions/linting with: python-version: ${{ matrix.python-version }} @@ -56,9 +69,19 @@ jobs: python-version: ['3.10'] current_package: ${{ fromJson(inputs.packages) }} steps: - - uses: actions/checkout@v3 + - name: has change in sub package + id: has_change + run: | + PACKAGE_NAME=$(echo $PACKAGE | cut -d'/' -f3) + echo "has_change=$(echo $CHANGES | jq -r .$PACKAGE_NAME)" >> $GITHUB_OUTPUT + shell: bash + env: + PACKAGE: ${{ matrix.current_package }} + CHANGES: ${{ needs.changes.outputs.packages }} + - uses: actions/checkout@v4 + if: ${{ steps.has_change.outputs.has_change != 'false' }} - id: isort - if: needs.changes.outputs.${{ matrix.current_package }} == 'true' + if: ${{ steps.has_change.outputs.has_change != 'false' }} uses: ./.github/actions/isort with: python-version: ${{ matrix.python-version }} @@ -72,9 +95,19 @@ jobs: python-version: ['3.10'] current_package: ${{ fromJson(inputs.packages) }} steps: - - uses: actions/checkout@v3 + - name: has change in sub package + id: has_change + run: | + PACKAGE_NAME=$(echo $PACKAGE | cut -d'/' -f3) + echo "has_change=$(echo $CHANGES | jq -r .$PACKAGE_NAME)" >> $GITHUB_OUTPUT + shell: bash + env: + PACKAGE: ${{ matrix.current_package }} + CHANGES: ${{ needs.changes.outputs.packages }} + - uses: actions/checkout@v4 + if: ${{ steps.has_change.outputs.has_change != 'false' }} - id: isort - if: needs.changes.outputs.${{ matrix.current_package }} == 'true' + if: ${{ steps.has_change.outputs.has_change != 'false' }} uses: ./.github/actions/black with: python-version: ${{ matrix.python-version }} @@ -88,7 +121,7 @@ jobs: python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] current_package: ${{ fromJson(inputs.packages) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: tests if: steps.changes.outputs.${{ matrix.current_package }} == 'true' uses: ./.github/actions/tests @@ -103,7 +136,7 @@ jobs: matrix: python-version: ['3.10'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: coverage uses: ./.github/actions/coverage with: @@ -123,7 +156,10 @@ jobs: matrix: python-version: ['3.10'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false # GITHUB_TOKEN must not be set for the semantic release - id: release uses: ./.github/actions/release with: @@ -147,7 +183,7 @@ jobs: python-version: ['3.10'] current_package: ${{ fromJson(inputs.packages) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: pypi uses: ./.github/actions/pypi with: