Skip to content

Commit

Permalink
Add bender-up-to-date action (#2)
Browse files Browse the repository at this point in the history
* Add bender-up-to-date action

This action runs `bender script -n flist` and checks if all specified files exist in the repository. Useful as a sanity test in repositories that otherwise don't use bender.

Signed-off-by: Nils Wistoff <[email protected]>

* bender-up-to-date: Use install-bender action

Signed-off-by: Nils Wistoff <[email protected]>

* bender-up-to-date.sh: Propagate errors

Signed-off-by: Nils Wistoff <[email protected]>

* bender-up-to-date: Rename bender-install

Signed-off-by: Nils Wistoff <[email protected]>

---------

Signed-off-by: Nils Wistoff <[email protected]>
  • Loading branch information
niwis authored Apr 13, 2023
1 parent 6d96be8 commit 96776cd
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
22 changes: 22 additions & 0 deletions bender-up-to-date/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Bender up-to-date

This action runs `bender script -n flist` and checks if all specified files exist in the repository. Useful as a sanity test in repositories that otherwise don't use bender.

## Action usage

Simply add the action to your desired upstream workflow. Optionally specify a bender version using `bender-version` (default: latest). We suggest creating a standalone workflow with appropriate trigger rules for this, for example:

```yaml
name: bender-up-to-date

on: [ push, pull_request, workflow_dispatch ]

jobs:
bender-up-to-date:
runs-on: ubuntu-latest
steps:
- name: Check Bender up-to-date
uses: pulp-platform/pulp-actions/bender-up-to-date@v2
with:
bender-version: 0.27.1
```
31 changes: 31 additions & 0 deletions bender-up-to-date/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2023 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

# Author: Nils Wistoff <[email protected]>

name: 'Bender up-to-date'
description: 'Check if all files specified in Bender.yml exist.'

inputs:
# Optional argument
bender-version:
description: 'Bender version to install (default: latest)'
required: false
default: ''

runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install bender
uses: pulp-platform/pulp-actions/bender-install@v2
with:
version: ${{ inputs.bender-version }}
- name: Check bender up-to-date
shell: bash
run: |
${{ github.action_path }}/bender-up-to-date.sh
16 changes: 16 additions & 0 deletions bender-up-to-date/bender-up-to-date.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/bash
#
# Copyright 2023 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# Nils Wistoff <[email protected]>

set -e

RESULT=0
for FILE in $(bender script -n flist | sed "/^\+\S*$/d")
do
[ ! -f "$FILE" ] && { echo "bender-up-to-date: $FILE not found."; RESULT=1; }
done
exit $RESULT

0 comments on commit 96776cd

Please sign in to comment.