diff --git a/.github/workflows/code-gen.yaml b/.github/workflows/code-gen.yaml new file mode 100644 index 0000000..652d8fe --- /dev/null +++ b/.github/workflows/code-gen.yaml @@ -0,0 +1,60 @@ +name: "Update Graphql API" +on: + schedule: + - cron: "0 0 * * 3" + workflow_call: + workflow_dispatch: + +jobs: + update-graphql-api: + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - name: Code Checkout + uses: actions/checkout@v4 + + - name: Import environment variables from file + run: cat ".github/env" >> $GITHUB_ENV + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ">=${{ env.golang-version }}" + cache: false + - name: Generate Graphql Schema + run: | + MONDOO_API_TOKEN=${{ secrets.MONDOO_API_TOKEN }} make generate + - name: Prepare title and branch name + id: branch + run: | + BRANCH_NAME="schema/update_$(date +'%Y%m%d%H%M%S')" + COMMIT_MSG="🧹 Bump GraphQL Schema - $(date +'%Y%m%d%H%M%S')" + echo "COMMIT_TITLE=${COMMIT_MSG}" >> $GITHUB_OUTPUT + echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_OUTPUT + - name: Check git diff + id: git-diff + run: | + git diff --exit-code . + echo "GIT_DIFF=$?" >> $GITHUB_OUTPUT + - name: Create PR + if: steps.git-diff.outputs.GIT_DIFF == '1' + id: cpr + uses: peter-evans/create-pull-request@v6 + with: + base: main + labels: dependencies,go + committer: "Mondoo Tools " + commit-message: ${{ steps.branch.outputs.COMMIT_TITLE }} + author: "Mondoo Tools " + title: ${{ steps.branch.outputs.COMMIT_TITLE }} + branch: ${{ steps.branch.outputs.BRANCH_NAME }} + body-path: .github/pr-body.md + + - name: PR infos + if: ${{ steps.cpr.outputs.pull-request-number }} + run: | + echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" + echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" + diff --git a/.github/workflows/pr-body.md b/.github/workflows/pr-body.md new file mode 100644 index 0000000..b0616f6 --- /dev/null +++ b/.github/workflows/pr-body.md @@ -0,0 +1,4 @@ +Created by Mondoo Tools via GitHub Actions + +Workflow: +https://github.com/mondoohq/mondoo-go/actions/workflows/code-gen.yaml \ No newline at end of file