Bumps [actions/checkout](https://github.com/actions/checkout) from 4.3.1 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](34e114876b...9c091bb21b)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
57 lines
1.9 KiB
YAML
57 lines
1.9 KiB
YAML
name: Validate
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
dotfiles:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
|
|
- name: Install validation tools
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --yes build-essential curl file git gnupg procps shellcheck shfmt zsh
|
|
source install/lib/common.sh
|
|
source install/lib/brew.sh
|
|
source install/lib/packages.sh
|
|
install_wezterm
|
|
install_homebrew
|
|
brew install neovim starship stylua
|
|
echo "$BREW_PREFIX/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Restore Neovim plugins
|
|
env:
|
|
DOTFILES_CI: "1"
|
|
XDG_CONFIG_HOME: ${{ github.workspace }}/.config
|
|
run: nvim --headless "+Lazy! restore" +qa
|
|
|
|
- name: Validate
|
|
run: bin/check-dotfiles
|
|
|
|
# End-to-end installer test: the dotfiles job validates the configs but
|
|
# never runs install.sh itself, which is what rots (apt repo URLs, GPG
|
|
# fingerprints, pinned checksums). Run the full install as a normal user
|
|
# in a pristine container.
|
|
installer:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
|
|
- name: Run full installer in a fresh container
|
|
run: |
|
|
docker run --rm -v "$PWD:/src:ro" ubuntu:24.04 bash -ec '
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends sudo curl ca-certificates git
|
|
useradd -m -s /bin/bash tester
|
|
echo "tester ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/tester
|
|
cp -r /src /home/tester/dotfiles
|
|
chown -R tester:tester /home/tester/dotfiles
|
|
su tester -c "cd ~/dotfiles && install/install.sh"
|
|
su tester -c "cd ~/dotfiles && install/install.sh --unlink"
|
|
'
|