-
-
Notifications
You must be signed in to change notification settings - Fork 12
48 lines (40 loc) · 1.6 KB
/
configure-repository.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# When using the Repository Template feature on GitHub, it does not follow the same rules as Composer create-project or ZIP downloads.
# For this reason, we have this script which will configure the repository the first time it is set up in order to normalize it.
name: Configure template repository
on:
# Run when branch is created (when the repository is generated from the template)
create:
# Only keep latest run of this workflow and cancel any previous runs
concurrency:
group: first-time-setup
cancel-in-progress: true
permissions:
actions: write
checks: write
contents: write
jobs:
first-time-setup:
runs-on: ubuntu-latest
# Ensure is is only run once, when the repository is generated, with a check to ensure it's the master branch
if: github.run_number == 1 && github.ref == 'refs/heads/master'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Remove files in export-ignore
run: |
# Read the .gitattributes file line by line
while IFS= read -r line; do
# Check if the line contains 'export-ignore'
if [[ $line == *"export-ignore"* ]]; then
# Extract the path from the line
path=$(echo "$line" | awk '{print $1}')
rm -rf "$path"
fi
done < ".gitattributes"
- name: Commit changed files
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "[email protected]"
git add .
git commit -m "Configure template repository"
git push