cyberbeni / install-swift-tool Goto Github PK
View Code? Open in Web Editor NEWGitHub Action to build and cache any Swift based tool in workflows.
License: MIT License
GitHub Action to build and cache any Swift based tool in workflows.
License: MIT License
https://github.com/YOCKOW/Action-setup-swift
This would be useful once caching is available, so we can avoid unnecessarily downloading swift: #1
The motivation is that the version for tools should be defined at 1 place. This place can often be the Package.swift or the Package.locked file. Package.resolved is a JSON file with the exact revision we are looking for and we don't want to resolve to a different version by using Package.swift, so only supporting Package.resolved first is fine.
The actions looks great, however the compiled binary for swiftlint fails with the error:
Run swiftlint --strict
swiftlint --strict
shell: /bin/bash -e {0}
Loading configuration from '.swiftlint.yml'
Fatal error: Loading libsourcekitdInProc.so failed: file SourceKittenFramework/library_wrapper.swift, line 39
/home/runner/work/_temp/8c14c813-f4f1-4307-b0e6-78983f636737.sh: line 1: 3112 Illegal instruction (core dumped) swiftlint --strict
Error: Process completed with exit code 132.
Below is my configuration
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install swiftlint
uses: Cyberbeni/install-swift-tool@v2
with:
url: https://github.com/realm/SwiftLint
version: "0.39.2" # TODO: change to 0.40.3
- name: Lint
run: swiftlint --strict
Is there something I'm missing?
The only difference I could find with respect to the build command we have in CircleCI is that we are passing the flag --static-swift-stdlib
.
Also, I noted that the tests don't execute the compiled files, they just check whether they are in the path.
ps: It'd be great if you could add https://github.com/apple/swift-format to the tests
This could be useful for installing tools with latest version that don't have a stable default branch.
E.g specify "v1" and the highest version tag starting with "v1." would be installed
After the last update our lint workflow is failing consistently. This is the output we get:
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: node16' is not supported, use 'docker' or 'node12' instead.')
Any help is appreciated.
Occasionally a fix is added to to a tool like SwiftLint that we'd like to start using before a new release is made. We could specify the branch
but that will continuously get new changes which we'd like to avoid. Being able to specify a commit hash to install would solve that.
Probably lsb_release --codename
would work fine instead of uname -v
I think the best way to do it is to just update uuid and rename working directory after cloning. (Checking out a specific commit requires cloning the whole repo)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.