Re: [PATCH] Add Github Action CI workflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Thu, Jun 17, 2021 at 1:19 PM Simon Glass <sjg@xxxxxxxxxxxx> wrote:
>
> Hi Rob,
>
> On Mon, 14 Jun 2021 at 11:36, Rob Herring <robh@xxxxxxxxxx> wrote:
> >
> > Travis-ci.org is going away and moving to Travis-ci.com requires some
> > work. It would probably involve fixing authentication issues yet again.
> > Instead, let's just move to a GH actions job which is fairly trivial to
> > setup. This has the side benefit of CI will run on anyone's fork without
> > further setup.
> >
> > As part of this, the specification file name gains a 'git-describe'
> > based version number.
> >
> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> > ---
> >  .github/workflows/ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 60 insertions(+)
> >  create mode 100644 .github/workflows/ci.yml
>
> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx>

Thanks for looking.

>
> Questions below
>
> >
> > diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
> > new file mode 100644
> > index 000000000000..f8fe08d52cb0
> > --- /dev/null
> > +++ b/.github/workflows/ci.yml
> > @@ -0,0 +1,60 @@
> > +name: Github Action CI
> > +
> > +on:
> > +  push:
> > +    branches:
> > +    - '*'
> > +    tags:
> > +    - 'v*'
> > +  pull_request:
> > +    branches:
> > +      master
> > +
> > +jobs:
> > +  build:
> > +    runs-on: ubuntu-latest
> > +
> > +    steps:
> > +    - uses: actions/checkout@v2
> > +      with:
> > +        fetch-depth: 0
> > +
> > +    - name: install
> > +      run: |
> > +        sudo apt-get update
> > +        sudo apt-get install latexmk libalgorithm-diff-perl texlive texlive-latex-extra texlive-humanities graphviz
> > +        pip3 install --user mako
> > +        pip3 install --user typing
> > +        pip3 install --user Sphinx
>
> Does this need the capital S ?

I believe so. This is copy-paste from the TravisCI job.

> Can we use apt install instead?

Perhaps. I think the issue here was the TravisCI using ancient ubuntu
versions and we needed a newer version of Sphinx at some point. GH is
the latest LTS, so it should be new enough.

>
> > +        pip3 install --user codespell
> > +
> > +    - name: build pdf
> > +      run: |
> > +        make latexpdf
> > +        git fetch --tags --force # Needed to make git-describe work
> > +        mv build/latex/devicetree-specification.pdf build/latex/devicetree-specification-$(git describe).pdf
> > +    - name: build html
> > +      run: make html
> > +    - name: build singlehtml
> > +      run: make singlehtml
> > +
> > +    - name: upload
> > +      uses: actions/upload-artifact@v2
> > +      with:
> > +        name: artifacts
> > +        path: |
> > +          build/latex/devicetree-specification-*.pdf
> > +
> > +    - name: deploy
> > +      uses: peaceiris/actions-gh-pages@v3
> > +      with:
> > +        github_token: ${{ secrets.GITHUB_TOKEN }}
>
> What do the spaces instead the {} do? From the docs it looks like this
> is a quirk of github?

I don't know really.

> > +        publish_dir: ./build/singlehtml
> > +
> > +    - name: release
> > +      uses: softprops/action-gh-release@v1
> > +      if: startsWith(github.ref, 'refs/tags/')
>
> So we don't need ${{}} around this one?

Evidently not. On both of these, I just follow what the action's docs
say to add.

It's nice and worrying at the same time to just use other people's actions.

Rob



[Index of Archives]     [Device Tree]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Photos]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]

  Powered by Linux