threads / patch / 56269

patchci: use upload-artifacts v1 for dockerized jobs

Subject: [PATCH] ci: use upload-artifacts v1 for dockerized jobs

## tl;dr

6 messages between Aug 12, 2021 and Aug 14, 2021. Diffs are folded; open one to read it.

replies: 5people: 3as markdown or json

Carlo Marcelo Arenas Belón· Aug 12, 2021, 06:52 UTC · lore

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(-)
Show changes to .github/workflows/main.yml +2 −2
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}}
-- 
2.33.0.rc1.379.g2890ef5eb6
Junio C Hamano· Aug 12, 2021, 19:59 UTC · re: Carlo Marcelo Arenas Belón · lore

Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs

Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:
Show 6 quoted lines
> 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.
Show 8 quoted lines
> 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.
Show 13 quoted lines
>  .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.

Show 9 quoted lines
>      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 Arenas· Aug 12, 2021, 22:19 UTC · re: Junio C Hamano · lore

Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs

On Thu, Aug 12, 2021 at 12:59 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
>
> 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, 06:28 UTC · re: Carlo Arenas · lore

Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs

Carlo Arenas <carenas@gmail.com> writes:
Show 6 quoted lines
> 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.
Carlo Marcelo Arenas Belón· Aug 13, 2021, 09:13 UTC · re: Carlo Marcelo Arenas Belón · lore

[PATCH v2] ci: use upload-artifacts v1 for dockerized jobs

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 built 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
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
v2:
* dropped unrelated chunk and better grammar as suggested by Junio
 .github/workflows/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to .github/workflows/main.yml +1 −1
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 47876a4f02..68596f2592 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -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}}
-- 
2.33.0.rc1.379.g2890ef5eb6
Johannes Schindelin· Aug 14, 2021, 22:17 UTC · re: Carlo Marcelo Arenas Belón · lore

Re: [PATCH v2] ci: use upload-artifacts v1 for dockerized jobs

Hi Carlo,
On Fri, 13 Aug 2021, Carlo Marcelo Arenas Belón wrote:
Show 11 quoted lines
> 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 built 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
ACK!

This seems to be the same issue that didn't let us upgrade to actions/checkout@v2 in the `dockerized` matrix (but of course I did not notice the `upload-artifact` issue because the test suite did not fail when I was working on e9f79acb28).

Thank you, Dscho

Show 28 quoted lines
>
> [1] https://github.com/actions/runner/issues/1011
>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> v2:
> * dropped unrelated chunk and better grammar as suggested by Junio
>
>  .github/workflows/main.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 47876a4f02..68596f2592 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -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}}
> --
> 2.33.0.rc1.379.g2890ef5eb6
>
>

← back to recent threads