feat: support linux-arm64 package for native installer (#115) #199
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Tests" | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| jobs: | |
| unit: | |
| name: npm test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v5 | |
| - run: npm ci | |
| - run: npm test | |
| native-installer: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - ubuntu-22.04 | |
| - ubuntu-24.04-arm | |
| name: Native installer / ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Test official installer (pinned version) | |
| uses: ./ | |
| with: | |
| use-installer: true | |
| version: "1.104.0" | |
| - run: sam --version | grep -F 1.104.0 | |
| - name: Test official installer (pinned version; should use cache) | |
| uses: ./ | |
| with: | |
| use-installer: true | |
| version: "1.104.0" | |
| - run: sam --version | grep -F 1.104.0 | |
| - name: Test official installer (latest version) | |
| uses: ./ | |
| with: | |
| use-installer: true | |
| - run: | | |
| version=$(curl https://pypi.org/pypi/aws-sam-cli/json | jq -r .info.version) | |
| sam --version | grep -F "$version" | |
| shell: bash | |
| integ: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - windows-latest | |
| - macos-latest | |
| - ubuntu-22.04 | |
| - ubuntu-24.04-arm | |
| python: | |
| - "3.9" | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| name: PyPI / ${{ matrix.os }} / ${{ matrix.python }} | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| # Set SAM versions based on Python version | |
| SAM_VERSION: ${{ contains(fromJson('["3.12", "3.13"]'), matrix.python) && '1.128.0' || '1.18.2' }} | |
| INSTALLER_VERSION: ${{ contains( matrix.os, '-arm') && '1.130.0' || '1.71.0' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Test official installer (pinned version) | |
| if: startsWith(matrix.os, 'ubuntu') | |
| uses: ./ | |
| with: | |
| use-installer: true | |
| version: ${{ env.INSTALLER_VERSION }} | |
| - if: startsWith(matrix.os, 'ubuntu') | |
| run: sam --version | grep -F ${{ env.INSTALLER_VERSION }} | |
| - name: Test official installer (latest version) | |
| if: startsWith(matrix.os, 'ubuntu') | |
| uses: ./ | |
| with: | |
| use-installer: true | |
| - if: startsWith(matrix.os, 'ubuntu') | |
| run: | | |
| version=$(curl https://pypi.org/pypi/aws-sam-cli/json | jq -r .info.version) | |
| sam --version | grep -F "$version" | |
| shell: bash | |
| # Test setup specific version | |
| - uses: ./ | |
| with: | |
| version: ${{ env.SAM_VERSION }} | |
| - run: sam --version | grep -F ${{ env.SAM_VERSION }} | |
| # Test setup latest version | |
| - uses: ./ | |
| - run: | | |
| version=$(curl https://pypi.org/pypi/aws-sam-cli/json | jq -r .info.version) | |
| sam --version | grep -F "$version" | |
| shell: bash | |
| # Test sam init | |
| - run: sam init --name sam-app --runtime nodejs20.x --dependency-manager npm --app-template hello-world | |
| # Test sam build | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: "20" | |
| - run: sam build | |
| working-directory: ./sam-app | |
| # Test sam build --use-container | |
| # Doesn't work as-is on macOS or Windows due to licensing: | |
| # - https://github.com/actions/runner-images/issues/17 | |
| # - https://github.com/actions/runner-images/issues/1143 | |
| # Ubuntu ARM runners are not yet GA | |
| - if: startsWith(matrix.os, 'ubuntu') && !contains(matrix.os, '-arm') | |
| run: sam build --use-container | |
| working-directory: ./sam-app |