mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-11 18:46:53 +08:00
Add README and update metadata
This commit is contained in:
5
LICENSE
5
LICENSE
@@ -1,7 +1,6 @@
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018 GitHub, Inc. and contributors
|
||||
Copyright (c) 2019 Sascha Mann
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -19,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
THE SOFTWARE.
|
||||
|
||||
72
README.md
72
README.md
@@ -1,9 +1,71 @@
|
||||
# JavaScript Action Template
|
||||
# setup-julia Action
|
||||
|
||||
This template offers an easy way to get started writing a javascript action with TypeScript compile time support, unit testing with Jest and using the GitHub Actions Toolkit.
|
||||
This action sets up a Julia environment for use in actions by download a specified version of Julia and adding it to PATH.
|
||||
|
||||
## Getting Started
|
||||
## Usage
|
||||
|
||||
See the walkthrough located [here](https://github.com/actions/toolkit/blob/master/docs/javascript-action.md).
|
||||
See [action.yml](action.yml)
|
||||
|
||||
In addition to walking your through how to create an action, it also provides strategies for versioning, releasing and referencing your actions.
|
||||
### Basic:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v1.0.0
|
||||
- uses: julia-actions/setup-julia@v0.1.0
|
||||
with:
|
||||
version: 1.0.4
|
||||
- run: julia -e 'println("Hello, World!")'
|
||||
```
|
||||
|
||||
### Matrix Testing:
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
julia-version: [1.0.4, 1.1.1, 1.2.0-rc3, 1.3.0-alpha]
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1.0.0
|
||||
- name: "Set up Julia"
|
||||
uses: julia-actions/setup-julia@v0.1.0
|
||||
with:
|
||||
version: ${{ matrix.julia-version }}
|
||||
- run: julia -e 'println("Hello, World!")'
|
||||
```
|
||||
|
||||
## Future plans & ideas
|
||||
|
||||
In no particular order:
|
||||
|
||||
### `setup-julia`:
|
||||
* Check if a cached version of Julia is available instead of installing it everytime CI runs.
|
||||
* Add version shortcuts like `1.x`, `1.1.x`, `latest` and `lts`.
|
||||
* Add support for nightly Julia builds.
|
||||
* Support 32-bit Julia on 64-bit windows.
|
||||
* Write some unit tests for the action.
|
||||
* Figure out the best way to handle versioning.
|
||||
* Hash and signature checks.
|
||||
|
||||
### Other Julia-related actions:
|
||||
|
||||
These would be nice to have but I make no promises of ever creating them myself.
|
||||
|
||||
* Default build script for packages, similar to how Travis CI works if you don't specify a script.
|
||||
* Find out if it's possible to cache packages using [`@actions/tool-cache`](https://github.com/actions/toolkit/tree/master/packages/tool-cache).
|
||||
* Actions for standard tools like Documenter, Coverage reporting and so on
|
||||
* Actions for registering and tagging package releases instead of relying on external apps.
|
||||
|
||||
## Words of caution
|
||||
|
||||
This action will likely be updated quite frequently in the near future. I'm sharing it now so that others who want to try out Julia on GitHub actions can do so without relying on Docker.
|
||||
|
||||
**DO NOT USE THIS AS YOUR ONLY FORM OF CI** (yet).
|
||||
|
||||
Unfortunately, because non-container actions must use JavaScript/TypeScript as scripting language, `npm` is involved. The dependencies are vendored but this action relies 100% on GitHub to audit the dependencies they add to their action toolkit.
|
||||
|
||||
## Licence info
|
||||
Parts of this software have been derived from the `setup-go` [action](https://github.com/actions/setup-go) and the [JavaScript Action Template](https://github.com/actions/javascript-template), both released by GitHub under the MIT licence.
|
||||
|
||||
@@ -3,8 +3,8 @@ description: 'Setup a Julia environment and add it to the PATH'
|
||||
author: 'Sascha Mann <git@mail.saschamann.eu>'
|
||||
inputs:
|
||||
version:
|
||||
description: 'The Julia version to download (if necessary) and use. Example: 1.0'
|
||||
default: '1.0'
|
||||
description: 'The Julia version to download (if necessary) and use. Example: 1.0.4'
|
||||
default: '1.0.4'
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'lib/setup-julia.js'
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
"use strict";
|
||||
// Apparently this satisfies the typescript compiler
|
||||
// https://stackoverflow.com/questions/41211566/tsconfig-json-buildno-inputs-were-found-in-config-file/45790421#45790421
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "setup-julia",
|
||||
"version": "1.0.0",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "setup Julia action",
|
||||
"main": "lib/setup-julia.js",
|
||||
@@ -19,7 +19,7 @@
|
||||
"julia",
|
||||
"setup"
|
||||
],
|
||||
"author": "Sascha Mann",
|
||||
"author": "Sascha Mann <git@mail.saschamann.eu>",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.0.0",
|
||||
|
||||
Reference in New Issue
Block a user