name: Nightly Install on: schedule: - cron: "0 0 * * 1-5" workflow_dispatch: {} permissions: contents: read jobs: test: name: "Smoke Test" runs-on: macos-12 timeout-minutes: 40 strategy: fail-fast: false matrix: channel: [stable] vm: [centos-7, rocky-8, fedora, opensuse-leap, ubuntu-focal] include: - {channel: latest, vm: rocky-8} - {channel: latest, vm: ubuntu-focal} - {channel: latest, vm: opensuse-leap} max-parallel: 2 defaults: run: working-directory: tests/install/${{ matrix.vm }} env: INSTALL_K3S_CHANNEL: ${{ matrix.channel }} steps: - name: "Checkout" uses: actions/checkout@v3 with: {fetch-depth: 1} - name: "Vagrant Cache" uses: actions/cache@v3 with: path: | ~/.vagrant.d/boxes ~/.vagrant.d/gems key: install-${{ matrix.vm }}-${{ hashFiles('tests/install/${{ matrix.vm }}/Vagrantfile') }} id: vagrant-cache continue-on-error: true - name: "Vagrant Plugin(s)" run: vagrant plugin install vagrant-k3s vagrant-reload - name: "Vagrant Up ⏩ Install K3s" run: vagrant up - name: "⏳ Node" run: vagrant provision --provision-with=k3s-wait-for-node - name: "⏳ CoreDNS" run: vagrant provision --provision-with=k3s-wait-for-coredns - name: "⏳ Local Storage" run: vagrant provision --provision-with=k3s-wait-for-local-storage continue-on-error: true - name: "⏳ Metrics Server" run: vagrant provision --provision-with=k3s-wait-for-metrics-server continue-on-error: true - name: "⏳ Traefik" run: vagrant provision --provision-with=k3s-wait-for-traefik continue-on-error: true - name: "k3s-status" run: vagrant provision --provision-with=k3s-status - name: "k3s-procps" run: vagrant provision --provision-with=k3s-procps