diff mbox series

ci: use upload-artifacts v1 for dockerized jobs

Message ID 20210812065234.71399-1-carenas@gmail.com (mailing list archive)
State Superseded
Headers show
Series ci: use upload-artifacts v1 for dockerized jobs | expand

Commit Message

Carlo Marcelo Arenas Belón Aug. 12, 2021, 6:52 a.m. UTC
e9f79acb28 (ci: upgrade to using actions/{up,down}load-artifacts v2,
2021-06-23) changed all calls to that action from v1 to v2, but there
is still an open bug[1] that affects all nodejs actions and prevents
its use in 32-bit linux (as used by the Linux32 container)

move all dockerized jobs to use v1 that was build in C# and therefore
doesn't have this problem which will otherwise manifest with confusing
messages like:

  /usr/bin/docker exec  0285adacc4536b7cd962079c46f85fa05a71e66d7905b5e4b9b1a0e8b305722a sh -c "cat /etc/*release | grep ^ID"
  OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: no such file or directory: unknown

[1] https://github.com/actions/runner/issues/1011
---
 .github/workflows/main.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Junio C Hamano Aug. 12, 2021, 7:59 p.m. UTC | #1
Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:

> e9f79acb28 (ci: upgrade to using actions/{up,down}load-artifacts v2,
> 2021-06-23) changed all calls to that action from v1 to v2, but there
> is still an open bug[1] that affects all nodejs actions and prevents
> its use in 32-bit linux (as used by the Linux32 container)
>
> move all dockerized jobs to use v1 that was build in C# and therefore

"was build -> was built", I would think.

> doesn't have this problem which will otherwise manifest with confusing
> messages like:
>
>   /usr/bin/docker exec  0285adacc4536b7cd962079c46f85fa05a71e66d7905b5e4b9b1a0e8b305722a sh -c "cat /etc/*release | grep ^ID"
>   OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: no such file or directory: unknown
>
> [1] https://github.com/actions/runner/issues/1011
> ---

Not signed off.

>  .github/workflows/main.yml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 47876a4f02..9dd41a1742 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -258,7 +258,7 @@ jobs:
>          - jobname: linux-musl
>            image: alpine
>          - jobname: Linux32
> -          image: daald/ubuntu32:xenial
> +          image: i386/ubuntu:xenial

Intended or accidental?  At least it is not explained where this
change comes from in the proposed log message.

>      env:
>        jobname: ${{matrix.vector.jobname}}
>      runs-on: ubuntu-latest
> @@ -271,7 +271,7 @@ jobs:
>        if: failure()
>      - name: Upload failed tests' directories
>        if: failure() && env.FAILED_TEST_ARTIFACTS != ''
> -      uses: actions/upload-artifact@v2
> +      uses: actions/upload-artifact@v1

This one matches what the proposed log message says, switching from
@v2 to @v1.

>        with:
>          name: failed-tests-${{matrix.vector.jobname}}
>          path: ${{env.FAILED_TEST_ARTIFACTS}}
Carlo Marcelo Arenas Belón Aug. 12, 2021, 10:19 p.m. UTC | #2
On Thu, Aug 12, 2021 at 12:59 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:
>
> > diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> > index 47876a4f02..9dd41a1742 100644
> > --- a/.github/workflows/main.yml
> > +++ b/.github/workflows/main.yml
> > @@ -258,7 +258,7 @@ jobs:
> >          - jobname: linux-musl
> >            image: alpine
> >          - jobname: Linux32
> > -          image: daald/ubuntu32:xenial
> > +          image: i386/ubuntu:xenial
>
> Intended or accidental?

yes!.

It was intended but more as an RFC, because I couldn't find an
explanation on what was the advantage of using this 5 year old
unofficial image when there was an equivalent official one that had
been updated just last month.

It was accidental, because I didn't realize I hadn't updated the log
message and it isn't needed to fix the regression which was the main
focus anyway.

>  At least it is not explained where this
> change comes from in the proposed log message.

The advantages of using an official image will be :

* more likely to be cached and therefore less likely to fail the job
* easier to move to a newer version (specially considering 16.04 is EOL)

Would it be better to drop or document it for v2?

Carlo
Junio C Hamano Aug. 13, 2021, 6:28 a.m. UTC | #3
Carlo Arenas <carenas@gmail.com> writes:

> The advantages of using an official image will be :
>
> * more likely to be cached and therefore less likely to fail the job
> * easier to move to a newer version (specially considering 16.04 is EOL)
>
> Would it be better to drop or document it for v2?

It smells like a sensible thing to do to switch to the more
up-to-date "official" one when such a thing exists---I do not think
we have any strange dependency that makes us favor using a possibly
stale one.

It however should be a separate patch under a different title, as it
sounds like that it does not have anything to do with the "use
upload-artifacts v1" theme.  So

 (1) drop the hunk from this patch to make it purely about
     upload-artifacts v1.

 (2) add a new patch that lets us use the official image.

would be a reasonable way forward.

Thanks.
diff mbox series

Patch

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 47876a4f02..9dd41a1742 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -258,7 +258,7 @@  jobs:
         - jobname: linux-musl
           image: alpine
         - jobname: Linux32
-          image: daald/ubuntu32:xenial
+          image: i386/ubuntu:xenial
     env:
       jobname: ${{matrix.vector.jobname}}
     runs-on: ubuntu-latest
@@ -271,7 +271,7 @@  jobs:
       if: failure()
     - name: Upload failed tests' directories
       if: failure() && env.FAILED_TEST_ARTIFACTS != ''
-      uses: actions/upload-artifact@v2
+      uses: actions/upload-artifact@v1
       with:
         name: failed-tests-${{matrix.vector.jobname}}
         path: ${{env.FAILED_TEST_ARTIFACTS}}