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

Create a new workflow #3

Open
lakruzz opened this issue Mar 2, 2024 · 0 comments
Open

Create a new workflow #3

lakruzz opened this issue Mar 2, 2024 · 0 comments
Labels
bug Something isn't working template Template item

Comments

@lakruzz
Copy link
Contributor

lakruzz commented Mar 2, 2024

Lets try to get a feel for how easy it is to create a new workflow.

Note

☝️ Learning goals in n this issue:

  • See the web interface's built-in support for workflow files
  • Explore the pre-defined workflows
  • Browse the available actions in the marketplace
  • Create a new workflow
  • Trigger a workflow manually

🏋️‍♀️ Exercise

  • 👉 Go back to the Actions tab and hit the New workflow button 👈
  • 👉 Browse around - locate the "Java with Maven" CI workflow - hit Configure to see the details 👈
👇 Java with Maven

This is what you are looking for:

image

...Yup! It's pretty basic. It doesn't really do any integration, so calling it CI is probably a bit overreached, but it does give you a basic skeleton.

But we don't have any Java in this repo, so let's do something else instead. Notice that when you are in a yaml file, which is located in .github/workflows and you are in edit mode in GitHub's web interface, then a right panel shows up automatically, which allows you to search the marketplace for more actions.

🏋️‍♀️ Exercise

  • 👉 Look up the action called "Issue-metrics" by GitHub 👈
  • 👉 Choose it and view it's full marketplace listing 👈
👇 Issue-metrics

This is what you are looking for:

image

If you browse to the "Getting Started" section you'll see that even though there wasn't provided an official Issue Metric Template by GitHub. It's often possible to find a template on the documentation of the various actions in the market place browser.

I've made an even simpler version of it

🏋️‍♀️ Exercise

  • 👉 Copy the code below and paste it into a new .yml file and save it in .github/worflows 👈
  • 👉 add, commit and push to git 👈
  • 👉 Go the the Actions tab and see what happens 👈

Important

If the code below isn't properly yaml formatted then please copy the code from the template repo

Code to copy
name: Manually triggered issue metrics
on:
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: read

jobs:
  build:
    name: issue metrics
    runs-on: ubuntu-latest
    steps:
    - name: Run issue-metrics tool
      uses: github/issue-metrics@v2
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        SEARCH_QUERY: 'repo:${{ github.repository }} is:issue'

    - name: Create issue
      uses: peter-evans/create-issue-from-file@v4
      with:
        title: Monthly issue metrics report
        token: ${{ secrets.GITHUB_TOKEN }}
        content-filepath: ./issue_metrics.md

A few things worth noticing:

  • The trigger on doesn't seem to mention an event other than the rather mysterious workflow_dispatch.
  • The env clause is used inside a step - not globally.
  • There is an unknown - perhaps suspicious looking peter-evans/create-issue-from-file action in the equation 😱 What is that? Well apparently it's a thing and it's even documented at github.com/peter-evans/create-issue-from-file - as expected.
  • This action seems to use the GitHub token in another way than we've seen before.

So it appears that nothing happens🤷. On the Actions tab you don't see a new workflow run. But if you look under "Workflows" you'll see that the new workflow is listed. And If you select it you you'll see a notification the since this workflow defines a workflow_dispatch trigger, apparently you can then run it manually. In fact, since it's the only trigger defined, it's the only thing you can do with it!

image

🏋️‍♀️ Exercise

  • 👉 Run the workflow manually - locate the new issue created from from the run, read the report👈
  • 👉 Add a few comments to some of your own issues, close the ones you're done with 👈
  • 👉 Run the workflow again - read the new report👈
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working template Template item
Projects
None yet
Development

No branches or pull requests

1 participant