Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Add GitHub Actions for Alpine CI #2823

Merged
merged 1 commit into from Apr 23, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/alpine.yml
@@ -0,0 +1,49 @@
name: Build bindings for Alpine releases

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
container:
image: node:${{ matrix.node }}-alpine${{ matrix.alpine }}
env:
SKIP_SASS_BINARY_DOWNLOAD_FOR_CI: true
strategy:
matrix:
node:
- 6
- 8.16.2
- 10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Give #2822 we'll want to use 10.16

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't run into this one in the testing, can you give an example of what Alpine version you hit the issue with?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the end the gist of the problem appears to be that binaries built on newer alpine version didn't work on older alpine versions. I think most alpine docker images come 3.9, 3.10, 3.11, so we'll probably want to build binaries in whatever the lowest is for the specific node version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, there are tags that include the Alpine version, so I can take a look at aligning that details to the run

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've pinned them to the oldest versions now

- 12
- 13
- 14
include:
- node: 6
alpine: ""
- node: 8.16.2
alpine: "3.9"
- node: 10
alpine: "3.9"
- node: 12
alpine: "3.9"
- node: 13
alpine: "3.10"
- node: 14
alpine: "3.10"
steps:
- name: Install Alpine build tools
run: apk add --no-cache python make git gcc g++

- uses: actions/checkout@v2

- name: Install packages
run: npm install --unsafe-perm

- name: Run tests
run: npm test

- uses: actions/upload-artifact@v1
with:
name: ${{ matrix.node }}
path: vendor/