diff --git a/.github/actions/setup_env/action.yaml b/.github/actions/setup_env/action.yaml index 986bdb1..336f9a7 100644 --- a/.github/actions/setup_env/action.yaml +++ b/.github/actions/setup_env/action.yaml @@ -1,6 +1,17 @@ name: Setup/Cache Env description: 'Sets up and caches a python env. Will only install dependencies if no cache was hit.' +inputs: + role-to-assume: + required: true + description: 'The role to assume' + aws-region: + required: true + description: 'The aws region to use' + domain-owner: + required: true + description: 'The domain owner' + runs: using: composite steps: @@ -19,14 +30,14 @@ runs: - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4.0.1 with: - role-to-assume: arn:aws:iam::827659017777:role/github-actions + role-to-assume: ${{ inputs.role-to-assume }} audience: sts.amazonaws.com - aws-region: eu-central-1 + aws-region: ${{ inputs.aws-region }} - name: Install Dependencies if: ${{ steps.env-cache.outputs.cache-hit != 'true' }} run: | - aws codeartifact login --tool pip --domain propeller --domain-owner 827659017777 --repository protosim + aws codeartifact login --tool pip --domain propeller --domain-owner ${{inputs.domain-owner}} --repository protosim python -m pip install --upgrade pip pip install -r propeller-swap-encoders/requirements.txt --no-cache shell: bash diff --git a/.github/workflows/python-tests.yaml b/.github/workflows/python-tests.yaml index ab7b12a..85f4c09 100644 --- a/.github/workflows/python-tests.yaml +++ b/.github/workflows/python-tests.yaml @@ -11,6 +11,13 @@ on: required: false type: number default: 15 + secrets: + role-to-assume: + required: true + aws-region: + required: true + domain-owner: + required: true jobs: test-python: @@ -22,8 +29,32 @@ jobs: with: fetch-depth: 0 - - name: Setup Env - uses: ./.github/actions/setup_env + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: "3.9" + + - name: Cache Env + uses: actions/cache@v3 + id: env-cache + with: + path: ${{ env.pythonLocation }} + key: ${{ env.pythonLocation }}-${{ hashFiles('./propeller-swap-encoders/requirements.txt') }} + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4.0.1 + with: + role-to-assume: ${{ secrets.role-to-assume }} + audience: sts.amazonaws.com + aws-region: ${{ secrets.aws-region }} + + - name: Install Dependencies + if: ${{ steps.env-cache.outputs.cache-hit != 'true' }} + run: | + aws codeartifact login --tool pip --domain propeller --domain-owner ${{secrets.domain-owner}} --repository protosim + python -m pip install --upgrade pip + pip install -r propeller-swap-encoders/requirements.txt --no-cache + shell: bash - name: Test with pytest id: tests diff --git a/.github/workflows/swap-encoders.yaml b/.github/workflows/swap-encoders.yaml index 08e58c4..ed5b81f 100644 --- a/.github/workflows/swap-encoders.yaml +++ b/.github/workflows/swap-encoders.yaml @@ -13,6 +13,10 @@ env: jobs: tests: uses: propeller-heads/tycho-protocol-sdk/.github/workflows/python-tests.yaml@main + secrets: + role-to-assume: ${{ secrets.ROLE_TO_ASSUME }} + aws-region: ${{ secrets.AWS_REGION }} + domain-owner: ${{ secrets.DOMAIN_OWNER }} formatting: name: Formatting @@ -26,6 +30,10 @@ jobs: - name: Setup Env uses: ./.github/actions/setup_env + with: + role-to-assume: ${{ secrets.ROLE_TO_ASSUME }} + aws-region: ${{ secrets.AWS_REGION }} + domain-owner: ${{ secrets.DOMAIN_OWNER }} - name: Black Formatting run: |