mirror of
https://github.com/nix-community/emacs-overlay.git
synced 2026-01-25 22:12:21 -08:00
Between elpa runs `git pull` and `git push`, nongnu may run `git push`. Let elpa sleep for 20 seconds and hopefully nongnu has finished `git push`.
84 lines
2.2 KiB
YAML
84 lines
2.2 KiB
YAML
name: Update emacs-overlay
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 */8 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
flake-inputs:
|
|
name: Update flake inputs
|
|
runs-on: ubuntu-latest
|
|
if: github.repository_owner == 'nix-community'
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6.0.1
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v31
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
|
|
- name: Add nix-community cache
|
|
uses: cachix/cachix-action@v16
|
|
with:
|
|
name: nix-community
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
|
|
- name: Configure Git
|
|
run: |
|
|
git config user.name github-actions
|
|
git config user.email github-actions@github.com
|
|
|
|
- name: Update flake inputs
|
|
run: |
|
|
nix flake update
|
|
git commit -m "Updated flake inputs" flake.lock || true
|
|
|
|
- name: Push commit with updated inputs
|
|
run: |
|
|
git pull --rebase --autostash
|
|
git push
|
|
|
|
refresh-overlay:
|
|
name: Refresh inputs
|
|
needs: flake-inputs
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
repo: ["elpa", "emacs", "melpa", "fromElisp", "nongnu"]
|
|
if: github.repository_owner == 'nix-community'
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6.0.1
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v31
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
|
|
- name: Add nix-community cache
|
|
uses: cachix/cachix-action@v16
|
|
with:
|
|
name: nix-community
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
|
|
- name: Configure Git
|
|
run: |
|
|
git config user.name github-actions
|
|
git config user.email github-actions@github.com
|
|
|
|
- name: Update inputs
|
|
run: |
|
|
export GIT_PAGER=
|
|
./update ${{ matrix.repo }}
|
|
|
|
- name: Push commit with updated inputs
|
|
run: |
|
|
# work around race of git between elpa and nongnu
|
|
# Between elpa runs `git pull` and `git push`, nongnu may run `git
|
|
# push`. Let elpa sleep for 20 seconds and hopefully nongnu has
|
|
# finished `git push`.
|
|
[[ ${{ matrix.repo }} == "elpa" ]] && sleep 20
|
|
git pull --rebase --autostash
|
|
git push
|