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

6 messages from 2021-08-12 to 2021-08-14. Participants: Carlo Marcelo Arenas Belón, Junio C Hamano, Carlo Arenas, Johannes Schindelin.
Thread: https://gitlist.dev/t/56269

## Carlo Marcelo Arenas Belón, 2021-08-12 06:52

Subject: [PATCH] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <20210812065234.71399-1-carenas@gmail.com>
URL: https://gitlist.dev/e/20210812065234.71399-1-carenas%40gmail.com

```
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(-)

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, 2021-08-12 19:59

Subject: Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <xmqq7dgq304m.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq7dgq304m.fsf%40gitster.g
In-Reply-To: <20210812065234.71399-1-carenas@gmail.com>

```
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 Arenas, 2021-08-12 22:19

Subject: Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <CAPUEspg3ci4VVEU+ktDZgZkhykKbs9-+JmiOx_2CmOwFoYdMMw@mail.gmail.com>
URL: https://gitlist.dev/e/CAPUEspg3ci4VVEU%2BktDZgZkhykKbs9-%2BJmiOx_2CmOwFoYdMMw%40mail.gmail.com
In-Reply-To: <xmqq7dgq304m.fsf@gitster.g>

```
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, 2021-08-13 06:28

Subject: Re: [PATCH] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <xmqq1r6xzwmp.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq1r6xzwmp.fsf%40gitster.g
In-Reply-To: <CAPUEspg3ci4VVEU+ktDZgZkhykKbs9-+JmiOx_2CmOwFoYdMMw@mail.gmail.com>

```
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.

```

## Carlo Marcelo Arenas Belón, 2021-08-13 09:13

Subject: [PATCH v2] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <20210813091349.88574-1-carenas@gmail.com>
URL: https://gitlist.dev/e/20210813091349.88574-1-carenas%40gmail.com
In-Reply-To: <20210812065234.71399-1-carenas@gmail.com>

```
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(-)

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, 2021-08-14 22:17

Subject: Re: [PATCH v2] ci: use upload-artifacts v1 for dockerized jobs
Message-ID: <nycvar.QRO.7.76.6.2108150013510.59@tvgsbejvaqbjf.bet>
URL: https://gitlist.dev/e/nycvar.QRO.7.76.6.2108150013510.59%40tvgsbejvaqbjf.bet
In-Reply-To: <20210813091349.88574-1-carenas@gmail.com>

```
Hi Carlo,

On Fri, 13 Aug 2021, Carlo Marcelo Arenas Belón wrote:

> 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

>
> [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
>
>

```
