# 32-bit Linux Julia builds are now available on Travis CI

**URL:** https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786
**Category:** Announcements
**Tags:** ci
**Created:** [August 21, 2019, 5:02am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786 "2019-08-21T05:02:27Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![ararslan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ararslan/32/3825_2.png) [@ararslan](https://discourse.julialang.org/u/ararslan)
#### Post date: [August 21, 2019, 5:02am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/1 "2019-08-21T05:02:27Z")

</div>

Another installment in the [saga of cross-platform CI](https://discourse.julialang.org/t/julia-is-now-available-on-travis-windows-builds/27187)! Just like for Windows, Julia Linux jobs on Travis CI can now use `arch: x86` to test with a 32-bit (i686) build of Julia.

Users of [Appveyor.jl](https://github.com/JuliaCI/Appveyor.jl) are likely already familiar with testing both 32- and 64-bit Julia builds on Windows using the `x86` and `x64` platform specifications. Previously this was only convenient way to test Julia packages on a 32-bit Julia build, and Appveyor.jl is only set up for Windows jobs.

You may be asking yourself, “Why should I care about 32-bit systems?” Ensuring your code works on 32-bit systems (assuming it’s designed to be) betters the experience for users who run 32-bit systems, but it also helps catch memory issues and implicit assumptions about the underlying system. For complex software this can be especially worthwhile.

Unfortunately, Travis does not currently use `arch` as an array for generating a build matrix, which means that testing with multiple architectures is a bit verbose. For example,

```yaml
matrix:
  include:
    - os: linux
      arch: x64
      julia: 1.0
    - os: linux
      arch: x86
      julia: 1.0

```

See [this comment](https://discourse.julialang.org/t/julia-is-now-available-on-travis-windows-builds/27187/18) on the Windows post for more discussion on this. Hopefully this will be simplified in the future.

A special thanks to Hiro Asari (BanzaiMan) from Travis for working with us on this.

Enjoy your build!

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [August 21, 2019, 6:46am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/2 "2019-08-21T06:46:10Z")

</div>

> [@ararslan](#):
>
> betters the experience for users who run 32-bit systems

Just being curious, are there still 32-bit i686 systems in production use? AFAIK the last one was manufactured more than a decade ago.

---

<div class="post-metadata">

### Author: ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)
#### Post date: [August 21, 2019, 10:27am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/3 "2019-08-21T10:27:50Z")

</div>

Some raspberry pis are 32 bit… (I know nothing about hardware architecture, I just remember a bunch of code I’d written with `Float64` failed when I tried to run it on my pi)

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [August 21, 2019, 10:33am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/4 "2019-08-21T10:33:09Z")

</div>

> [@kevbonham](#):
>
> Some raspberry pis are 32 bit…

But they aren’t i686.

---

<div class="post-metadata">

### Author: ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)
#### Post date: [August 21, 2019, 10:38am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/5 "2019-08-21T10:38:57Z")

</div>

Hence my disclaimer 😂. I don’t have any sense of why that matters (not asking you to explain, was just assuming this was for testing platform-agnostic 32 bit code)

---

<div class="post-metadata">

### Author: ![dhazeghi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dhazeghi/32/7107_2.png) [@dhazeghi](https://discourse.julialang.org/u/dhazeghi)
#### Post date: [August 21, 2019, 4:13pm UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/6 "2019-08-21T16:13:08Z")

</div>

> [@Tamas\_Papp](#):
>
> Just being curious, are there still 32-bit i686 systems in production use? AFAIK the last one was manufactured more than a decade ago.

Depends on one’s definition of system, but e.g. the Quark series of micro-controllers from Intel use an x86 CPU and are still being manufactured and available to OEMs (though they were recently discontinued on the general market). In terms of normal PC-based systems though, it’s been a while - the Lincroft Atom line released in 2010/2011 is among the most recent.

---

<div class="post-metadata">

### Author: ![Amin\_Yahyaabadi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amin_yahyaabadi/32/9826_2.png) [@Amin\_Yahyaabadi](https://discourse.julialang.org/u/Amin_Yahyaabadi)
#### Post date: [August 23, 2019, 3:21am UTC](https://discourse.julialang.org/t/32-bit-linux-julia-builds-are-now-available-on-travis-ci/27786/7 "2019-08-23T03:21:39Z")

</div>

I added an issue in PkgTemplate ([https://github.com/invenia/PkgTemplates.jl/issues/87](https://github.com/invenia/PkgTemplates.jl/issues/87)), so we add the latest changes to the package creation template.
