Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/sync-from-template-repo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,19 @@ jobs:
permissions:
contents: write
pull-requests: write
workflows: write

steps:
# To use this repository's private action, you must check out the repository
- name: Checkout
uses: actions/checkout@v4
# https://github.com/actions/checkout#usage
# uncomment if you use submodules within the repository
with:
token: ${{ secrets.TEMPLATE_SYNC_ACTION }}
# with:
# submodules: true

- name: actions-template-sync
uses: AndreasAugustin/actions-template-sync@v2
with:
source_repo_path: Webprogrammering-Lab/template-private
# github_token: ${{ secrets.TEMPLATE_SYNC_ACTION }}
# upstream_branch: <target_branch> # defaults to main
35 changes: 2 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,3 @@
# template-copy
# template-private

Actions från template är automatiskt aktiverade.

## How to pull from template parent

Finns lite olika lösningar. Verkar som stora problemet kommer från att när man skapar från template får man inte med commit historik så när man vill göra pull mote basrepo saknas historiken vilket man behöver lösa på olika sätt. https://stackoverflow.com/questions/56577184/github-pull-changes-from-a-template-repository

Jag tänker att man kan göra ett make command för att koppla repot till template. Då kör man alltid den när man skapar ett nytt. Sen kan man göra ett command som gör "pull"?

- [fetch med --allow-unrelated-history](https://stackoverflow.com/a/56577320) # funkade. Behövde göra en merge lokalt
Efter satt upp upstream kör
`git fetch --all`
`git merge template/main --allow-unrelated-histories`
verkar som att add remote inte blir det av repot. Måste lägga till det igen på annan dator. Hittar inget med google hur man gör det bara en gång.
En till fördel med denna är att pull inte försöker skriva över samma filer igen om man har ändrat dem sen.
Kan göra make commands av ovanstående.
- I target repo baserat på crontab [Sync action](https://github.com/marketplace/actions/actions-template-sync)
- Problem med att uppdatera workflows i copy repo. För att action ska få uppdatera workflows behöver man skapa en PAT med specifika rättigheter. https://github.com/marketplace/actions/actions-template-sync#troubleshooting.
Kan skapa en PAT i organisation och en SECRET av den som vi kan använda för alla repos. Dock håller ens token MAX ett år så behöver skapa ny varje år.
- Behöver aktivera `Allow GitHub Actions to create and approve pull requests` för Enterprise, organisation och repo.
> Open your project `Settings > Actions > General` and select the checkbox `Allow GitHub Actions to create and approve pull requests` under the `Workflow permissions section`.

Det skapas en branch med ändringarna som man sen måste gå in och skapa PR och merga.
Om man har gjort ändringar i copy repot i filer från template då vill git ändra koden till den från template.
Kan komma runt detta. Om det är filer vi vet att vi vill använda som en mall och vi ska ändra i, i copy repon. Då kan vi lägga dem i syncignore. Då får vi med mallen när vi skapar copy repot men ändringarna kommer inte skrivas över när Action körs. Det medför dock att om vi skulle vilja göra en "global" ändring i de filerna måste man gå in och göra det manuellt.
Fördel med manuell sync är att man får merge conflict och kan välja vad som ska ändras. Men detta är bara ett problem om vi har filer i template som vi vill ändra på i copy. Om vi bara har filer som är oförändrade är det inte något problem.


- I source repo baserat på push/PR/osv... Hittar automatiskt de repo som är skapade från template [sync action](https://github.com/ahmadnassri/action-template-repository-sync)
Dennna behöver också PAT. Har inte testat denna än dock.
- [fetch till ny branch och sen merge från den till main](https://stackoverflow.com/a/69563752)
- [Använd Github importer för att skapa repo. Då kan man göra fetch och merge senare](https://stackoverflow.com/a/66948475)
- [Merge med squash](https://stackoverflow.com/a/75573089)
Ändrar i denna för att göra pull jobbigare i copy repo