Skip to content

Repository files navigation

LFX Actions

License CI Quality Gate Status Coverage

LFX Actions are a series of tools that can be either ran directly at the CLI or leveraged via GitHub Actions, which automate pulling data from LFX for using with other tools and services. The current list of tools provided is as below:

  • updateprojects: Pulls hosted project data from a project's landscape and streams in CSV format to stdout.
  • updatetacmembers: Pulls the current list of TAC members from LFX PCC and streams CSV format to stdout.
  • updatetacagendaitems: A tool for TACs that use a GitHub Project for managing their TAC agenda. Streams TAC agenda items in CSV format to stdout..
  • updateclomonitor: Pulls hosted project data from a project's landscape in YAML format to stdout that can imported into CLOMonitor.
  • updatecharters: Downloads the Technical Charters for the subprojects of a project identified by --slug, saving them in the current working directory with naming format of SLUG_charter.
  • updatedecks: Exports Google Slides and Powerpoint decks from Google Drive, saving them in PDF and PPTX format in the current working directory.

You can run any of these commands with the -h flag to see the command line arguments required.

Installation

GitHub Action

Add the following to a file .github/workflows/updatedatafromlfx.yml

name: Update Data From LFX
on:
  issues:
    types:
      - "labeled"
      - "unlabeled"
  schedule:
    - cron: '0 0 * * *' # set to when you would like this to run
  workflow_dispatch:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: jmertic/lfx-tac-actions@6c227fe42b9769a6d1b4460f2e077e35c62bc3a0 # 20260801
        with:
          # refer to https://github.com/jmertic/lfx-tac-actions/blob/main/action.yml#L3 for the various inputs to set. 
        env:
          token: ${{ secrets.PAT }} # Must be set as a secret for the repo; required access is 'read:discussion, read:org, read:project, repo'
          repository: ${{ github.repository }}
          ref: ${{ github.ref }}

Auto-merging changes into the repository

If the build results in data that differs from the current data in the given repository, a pull request is created to apply those changes. This pull request is by default set to be automatically merged only if the following conditions are met.

  • The target repository must have Allow auto-merge enabled in settings.
  • The pull request base must have a branch protection rule with at least one requirement enabled.
  • The pull request must be in a state where requirements have not yet been satisfied. If the pull request is in a state where it can already be merged, the action will merge it immediately without enabling auto-merge.

Local install

You can install this tool on your local computer via pipx.

pipx install git+https://github.com/jmertic/lfx-tac-actions.git

Similarly, you can use the command below to upgrade your local install.

pipx upgrade lfx-tac-actions

All of the commands referenced above will be available for executing directly.

About

GH action for syncing data into a TAC repo

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages