name: Post the screenshots into a comment from Peek Icons workflow on: workflow_run: workflows: ['Peek Icons'] types: - completed jobs: post_screenshots_in_comment: name: Post the screenshot runs-on: ubuntu-latest if: github.event.action == 'completed' && github.event.workflow_run.conclusion != 'skipped' env: # three possible values: 'skipped', 'success', 'failure' # have to print github.event to console to see these values # note: can't use this env variable up in the if statement above for some reason. # I don't think it's an ordering issue cause it seems 'if' is auto evaluate first PEEK_STATUS: ${{ github.event.workflow_run.conclusion }} steps: - name: Check state of last run run: echo $PEEK_STATUS - name: Download workflow artifact uses: dawidd6/action-download-artifact@v7 with: github_token: ${{ secrets.GITHUB_TOKEN }} workflow: peek_icons.yml run_id: ${{ github.event.workflow_run.id }} - name: Read the pr_num file id: pr_num_reader uses: juliangruber/read-file-action@v1.1.6 with: path: ./pr_num/pr_num.txt - name: Read the err message file if: success() id: err_message_reader uses: juliangruber/read-file-action@v1.1.6 with: path: ./err_messages/err_messages.txt # using this trigger allowed us to access secrets - name: Upload screenshot of the SVGs gotten from the artifacts id: svgs_overview_img_step if: env.PEEK_STATUS == 'success' && success() uses: devicons/public-upload-to-imgur@v2.2.2 with: path: ./screenshots/new_svgs.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Upload zoomed in screenshot of the SVGs gotten from the artifacts id: svgs_detailed_img_step uses: devicons/public-upload-to-imgur@v2.2.2 if: env.PEEK_STATUS == 'success' && success() with: path: ./screenshots/new_svg_*.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Upload screenshot of the newly made icons gotten from the artifacts id: icons_overview_img_step if: env.PEEK_STATUS == 'success' && success() uses: devicons/public-upload-to-imgur@v2.2.2 with: path: ./screenshots/new_icons.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Upload zoomed in screenshot of the newly made icons gotten from the artifacts id: icons_detailed_img_step uses: devicons/public-upload-to-imgur@v2.2.2 if: env.PEEK_STATUS == 'success' && success() with: path: ./screenshots/new_icon_*.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Upload zoomed in screenshot of the colored icons gotten from the artifacts id: colored_icons_detailed_img_step uses: devicons/public-upload-to-imgur@v2.2.2 if: env.PEEK_STATUS == 'success' && success() with: path: ./screenshots/new_colored_icon_*.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Comment on the PR about the result - Success uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR if: env.PEEK_STATUS == 'success' && success() env: MESSAGE: | Hi there, I'm Devicons' Peek Bot and I just peeked at the icons that you wanted to add using [icomoon.io](https://icomoon.io/app/#/select). Here are the SVGs as intepreted by Icomoon when we upload the files: {0} Here are the zoomed-in screenshots of the added icons as **SVGs**: {1} Here are the icons that will be generated by Icomoon: {2} Here are the zoomed-in screenshots of the added icons as **icons**: {3} Here are the colored versions: {4} {5} The maintainers will now check for: 1. The number of Glyphs matches the number of SVGs that were selected. 2. The icons (second group of pictures) look the same as the SVGs (first group of pictures). 3. The icons are of high quality (legible, matches the official logo, etc.) 4. A new object is added in the `devicon.json` file at the correct alphabetic position as seen [here](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) In case of font issues, it might be caused by Icomoon not accepting strokes in the SVGs. Check this [doc](https://icomoon.io/#faq/importing) for more details and fix the issues as instructed by Icomoon and update this PR once you are done. Thank you for contributing to Devicon! I hope that your icons are accepted into the repository. Note: If the images don't show up, it has been autodeleted by Imgur after 6 months due to our API choice. Cheers, Peek Bot :blush: with: type: create issue_number: ${{ steps.pr_num_reader.outputs.content }} token: ${{ secrets.GITHUB_TOKEN }} body: > ${{ format( env.MESSAGE, fromJSON(steps.svgs_overview_img_step.outputs.markdown_urls)[0], join(fromJSON(steps.svgs_detailed_img_step.outputs.markdown_urls), ' '), fromJSON(steps.icons_overview_img_step.outputs.markdown_urls)[0], join(fromJSON(steps.icons_detailed_img_step.outputs.markdown_urls), ' '), join(fromJSON(steps.colored_icons_detailed_img_step.outputs.markdown_urls), ' '), steps.err_message_reader.outputs.content ) }} - name: Comment on the PR about the result - Failure if: env.PEEK_STATUS == 'failure' uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR env: MESSAGE: | Hi there, I'm Devicons' Peek Bot and it seems we've ran into a problem. ``` {0} ``` Make sure that: - Your SVGs are named and added correctly to the /icons folder as seen [here](https://github.com/devicons/devicon/wiki/Organizing-SVGs). - Your icon information has been added to the `devicon.json` as seen [here](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) - Your PR title follows the format seen [here](https://github.com/devicons/devicon/wiki/Overview-on-Submitting-Icons) I will retry once everything is fixed. If I still fail or there are other error, the maintainers will investigate. Best of luck, Peek Bot :relaxed: with: type: create issue_number: ${{ steps.pr_num_reader.outputs.content }} token: ${{ secrets.GITHUB_TOKEN }} body: ${{ format(env.MESSAGE, steps.err_message_reader.outputs.content) }} - name: Comment on the PR about the result - Failure if: failure() uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR env: MESSAGE: | Hi there, I'm Devicons' Peek Bot and we've ran into a problem with the `post_peek_screenshot` workflow. The maintainers will take a look and fix the issue. Please wait for further instructions. Thank you, Peek Bot :relaxed: with: type: create issue_number: ${{ steps.pr_num_reader.outputs.content }} token: ${{ secrets.GITHUB_TOKEN }} body: env.MESSAGE