Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upload merge files from artifact to permanent gh-pages link instead of updating read me #15

Merged
merged 4 commits into from
Jan 8, 2024
Merged
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
87 changes: 60 additions & 27 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ jobs:

- name: run merge script
run: |

python merge/EBeam_merge.py

- name: move merge output files to new folder
Expand All @@ -44,47 +43,81 @@ jobs:
cp "/home/runner/work/openEBL-2024-02/openEBL-2024-02/merge/$file" merge_output/
done

- name: upload artifact
- name: upload merge artifact
uses: actions/upload-artifact@v4
id: artifact-upload
with:
name: merge-files
path: merge_output/

- name: get artifact url
- name: add vars needed for merge artifact url to a txt file
run: |
IFS='/' read -ra REPO <<< "$GITHUB_REPOSITORY"
OWNER="${REPO[0]}"
REPO_NAME="${REPO[1]}"
echo "Owner: $OWNER"
echo "Repository: $REPO_NAME"

RUN_ID=${{ github.run_id }}
ARTIFACT_ID=${{ steps.artifact-upload.outputs.artifact-id }}
ARTIFACT_URL="https://github.com/$OWNER/$REPO_NAME/actions/runs/$RUN_ID/artifacts/$ARTIFACT_ID"
echo "Artifact URL: $ARTIFACT_URL"

# add vars to txt file
echo "$ARTIFACT_ID" > url_info.txt
echo "$RUN_ID" >> url_info.txt
echo "$OWNER" >> url_info.txt
echo "$REPO_NAME" >> url_info.txt

- name: upload txt file as an artifact
uses: actions/upload-artifact@v4
with:
name: url-info
path: url_info.txt

# seperate job needed so we can check out and change code from gh-pages branch
update-url:
runs-on: ubuntu-latest

needs: merge

steps:
- name: checkout repo content
uses: actions/checkout@v2
with:
ref: gh-pages

- name: download url-info artifact
uses: actions/download-artifact@v4
with:
name: url-info
path: .

echo "ARTIFACT_URL=$ARTIFACT_URL" >> $GITHUB_ENV
- name: get vars from url_info.txt file
run: |
ARTIFACT_ID=$(head -1 url_info.txt)
RUN_ID=$(sed -n '2p' url_info.txt)
OWNER=$(sed -n '3p' url_info.txt)
REPO_NAME=$(sed -n '4p' url_info.txt)

echo "ARTIFACT_ID=$ARTIFACT_ID" >> $GITHUB_ENV
echo "RUN_ID=$RUN_ID" >> $GITHUB_ENV
echo "OWNER=$OWNER" >> $GITHUB_ENV
echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV

- name: delete url-info artifact
uses: geekyeggo/delete-artifact@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: url-info

- name: update url in runner README
- name: update index.html with new merge artifact link
run: |
start_delim="<!-- start-link -->"
end_delim="<!-- end-link -->"

# remove current URL
sed -i "/$start_delim/,/$end_delim/d" README.md

# add new URL
printf "$start_delim\n$ARTIFACT_URL\n$end_delim\n" >> README.md

# merge script always runs on any PR, this ensures link is only updated after a PR is merged into SiEPIC
- name: commit and push changes to README if we are in SiEPIC repo
echo "New artifact URL: https://github.com/$OWNER/$REPO_NAME/actions/runs/$RUN_ID/artifacts/$ARTIFACT_ID"
sed -i 's|URL=https://github.com/'"$OWNER"'/'"$REPO_NAME"'/actions/runs/.*|URL=https://github.com/'"$OWNER"'/'"$REPO_NAME"'/actions/runs/'"$RUN_ID"'/artifacts/'"$ARTIFACT_ID"'">|' index.html
sed -i 's|href="https://github.com/'"$OWNER"'/'"$REPO_NAME"'/actions/runs/.*|href="https://github.com/'"$OWNER"'/'"$REPO_NAME"'/actions/runs/'"$RUN_ID"'/artifacts/'"$ARTIFACT_ID"'">|' index.html

# merge script always runs on any PR, the if statement ensures link is only updated after a PR is merged into SiEPIC
- name: push changes to gh-pages branch
run: |
git diff
git config --local user.email "${{ github.actor }}@users.noreply.github.com"
git config --local user.name "${{ github.actor }}"
git add README.md
git commit -m "update README with new artifact url $ARTIFACT_URL"
git config user.name "${{ github.actor }}"
git config user.email "${{ github.actor }}@users.noreply.github.com"
git add index.html
git commit -m "Update index.html to redirect to new merge artifact url"
git push
if: ${{ env.OWNER == 'SiEPIC'}}
if: ${{ github.repository_owner == 'SiEPIC'}}
3 changes: 2 additions & 1 deletion .github/workflows/run-verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ jobs:
name: python-to-oas-gds
path: ./binary_files
search_artifacts: true
if: ${{ github.event_name == 'workflow_run' }}

- name: get .gds and .oas files
run: |
Expand Down Expand Up @@ -74,7 +75,7 @@ jobs:
IFS=$'\n'

# run verification on all files
for file in "$FILES"; do
for file in $FILES; do

echo "Running verification on $file"

Expand Down
Loading