| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- name: test installer.sh
- on:
- push:
- branches:
- - "main"
- paths:
- - scripts/installer.sh
- pull_request:
- branches:
- - "*"
- paths:
- - scripts/installer.sh
- jobs:
- test:
- strategy:
- # Don't abort the entire matrix if one element fails.
- fail-fast: false
- # Don't start all of these at once, which could saturate Github workers.
- max-parallel: 4
- matrix:
- image:
- # This is a list of Docker images against which we test our installer.
- # If you find that some of these no longer exist, please feel free
- # to remove them from the list.
- # When adding new images, please only use official ones.
- - "debian:oldstable-slim"
- - "debian:stable-slim"
- - "debian:testing-slim"
- - "debian:sid-slim"
- - "ubuntu:18.04"
- - "ubuntu:20.04"
- - "ubuntu:22.04"
- - "ubuntu:22.10"
- - "ubuntu:23.04"
- - "elementary/docker:stable"
- - "elementary/docker:unstable"
- - "parrotsec/core:lts-amd64"
- - "parrotsec/core:latest"
- - "kalilinux/kali-rolling"
- - "kalilinux/kali-dev"
- - "oraclelinux:9"
- - "oraclelinux:8"
- - "fedora:latest"
- - "rockylinux:8.7"
- - "rockylinux:9"
- - "amazonlinux:latest"
- - "opensuse/leap:latest"
- - "opensuse/tumbleweed:latest"
- - "archlinux:latest"
- - "alpine:3.14"
- - "alpine:latest"
- - "alpine:edge"
- deps:
- # Run all images installing curl as a dependency.
- - curl
- include:
- # Check a few images with wget rather than curl.
- - { image: "debian:oldstable-slim", deps: "wget" }
- - { image: "debian:sid-slim", deps: "wget" }
- - { image: "ubuntu:23.04", deps: "wget" }
- # Ubuntu 16.04 also needs apt-transport-https installed.
- - { image: "ubuntu:16.04", deps: "curl apt-transport-https" }
- - { image: "ubuntu:16.04", deps: "wget apt-transport-https" }
- runs-on: ubuntu-latest
- container:
- image: ${{ matrix.image }}
- options: --user root
- steps:
- - name: install dependencies (yum)
- # tar and gzip are needed by the actions/checkout below.
- run: yum install -y --allowerasing tar gzip ${{ matrix.deps }}
- if: |
- contains(matrix.image, 'centos')
- || contains(matrix.image, 'oraclelinux')
- || contains(matrix.image, 'fedora')
- || contains(matrix.image, 'amazonlinux')
- - name: install dependencies (zypper)
- # tar and gzip are needed by the actions/checkout below.
- run: zypper --non-interactive install tar gzip
- if: contains(matrix.image, 'opensuse')
- - name: install dependencies (apt-get)
- run: |
- apt-get update
- apt-get install -y ${{ matrix.deps }}
- if: |
- contains(matrix.image, 'debian')
- || contains(matrix.image, 'ubuntu')
- || contains(matrix.image, 'elementary')
- || contains(matrix.image, 'parrotsec')
- || contains(matrix.image, 'kalilinux')
- - name: checkout
- uses: actions/checkout@v3
- - name: run installer
- run: scripts/installer.sh
- # Package installation can fail in docker because systemd is not running
- # as PID 1, so ignore errors at this step. The real check is the
- # `tailscale --version` command below.
- continue-on-error: true
- - name: check tailscale version
- run: tailscale --version
|