You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.6 KiB
87 lines
2.6 KiB
name: Installation script |
|
on: |
|
pull_request: |
|
paths: |
|
- .ci/install.sh |
|
push: |
|
branches: |
|
- master |
|
paths: |
|
- .ci/install.sh |
|
|
|
jobs: |
|
test_against_latest_release_arm: |
|
strategy: |
|
matrix: |
|
docker_image: |
|
- arm64v8/ubuntu |
|
- arm32v7/ubuntu |
|
name: Test against latest release (ARM) |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Set up QEMU |
|
id: qemu |
|
uses: docker/setup-qemu-action@v3 |
|
- uses: actions/checkout@v4 |
|
- name: Run installation script in Docker |
|
run: | |
|
docker run --rm -v $(pwd):$(pwd) -e "RUST_LOG=fnm=debug" --workdir $(pwd) ${{matrix.docker_image}} bash -c ' |
|
set -e |
|
|
|
apt update && apt install -y unzip curl libatomic1 |
|
|
|
echo "-------------------------------------" |
|
echo "Installing for CPU arch: $(uname -m)" |
|
|
|
bash ./.ci/install.sh |
|
|
|
echo "fnm --version" |
|
~/.local/share/fnm/fnm --version |
|
|
|
echo "eval fnm env" |
|
eval "$(~/.local/share/fnm/fnm env)" |
|
|
|
echo "fnm install" |
|
~/.local/share/fnm/fnm install 12 |
|
|
|
echo "node -v" |
|
~/.local/share/fnm/fnm exec --using=12 -- node -v |
|
' |
|
|
|
test_against_latest_release: |
|
name: Test against latest release |
|
strategy: |
|
matrix: |
|
shell: [fish, zsh, bash] |
|
setup: |
|
- os: ubuntu |
|
script_arguments: '' |
|
- os: macos |
|
script_arguments: '' |
|
- os: macos |
|
script_arguments: '--force-no-brew' |
|
runs-on: ${{ matrix.setup.os }}-latest |
|
steps: |
|
- uses: actions/checkout@v4 |
|
- run: "sudo apt-get install -y ${{ matrix.shell }}" |
|
name: Install ${{matrix.shell}} using apt-get |
|
if: matrix.setup.os == 'ubuntu' |
|
- run: "brew update && brew install ${{ matrix.shell }}" |
|
name: Update formulae and install ${{matrix.shell}} using Homebrew |
|
if: matrix.setup.os == 'macos' |
|
- run: | |
|
if [ -f ~/.bashrc ]; then |
|
cp ~/.bashrc ~/.bashrc.bak |
|
echo 'echo hello world' > ~/.bashrc |
|
echo '. ~/.bashrc.bak' >> ~/.bashrc |
|
fi |
|
|
|
if [ -f ~/.zshrc ]; then |
|
echo 'echo hello world' > ~/.zshrc |
|
echo '. ~/.zshrc.bak' >> ~/.zshrc |
|
fi |
|
name: reset shell profiles |
|
- run: "env SHELL=$(which ${{ matrix.shell }}) bash ./.ci/install.sh ${{ matrix.setup.script_arguments }}" |
|
name: Run the installation script |
|
- run: ./.ci/test_installation_script.sh ${{ matrix.shell }} |
|
name: 'Test installation script'
|
|
|