Skip to content

feat: support linux-arm64 package for native installer (#115) #199

feat: support linux-arm64 package for native installer (#115)

feat: support linux-arm64 package for native installer (#115) #199

Workflow file for this run

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