Coder Social home page Coder Social logo

julia-buildpkg's Introduction

julia-buildpkg Action

This action runs the build step in a Julia package.

Usage

Julia needs to be installed before this action can run. This can easily be achieved with the setup-julia action.

And example workflow that uses this action might look like this:

name: Run tests

on: [push, pull_request]

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        julia-version: [stable, lts]
        julia-arch: [x64, x86]
        os: [ubuntu-latest, windows-latest, macOS-latest]
        exclude:
          - os: macOS-latest
            julia-arch: x86

    steps:
      - uses: actions/checkout@v2
      - uses: julia-actions/setup-julia@v1
        with:
          version: ${{ matrix.julia-version }}
      - uses: julia-actions/julia-buildpkg@v1
      - uses: julia-actions/julia-runtest@v1

Registry flavor preference

This actions defines (and exports for subsequent steps of the workflow) the environmental variable JULIA_PKG_SERVER_REGISTRY_PREFERENCE=eager unless it is already set. If you want another registry flavor (i.e. conservative) this should be defined in the env: section of the relevant workflow or step. See Registry flavors for more information.

Adding Local Registries

Personal registries, e.g. created with LocalRegistry.jl, can be added to the CI using the localregistry input option. If the personal registry as well as packages needed in the current project are public, no additional setup is required if the registry url is specified in https-format.

If the registry contains private packages, or is itself private, the ssh protocol should to be used. The user has to provide the corresponding private SSH-keys to the ssh-agent to access packages and registry. This can be conveniently done using the webfactory/ssh-agent action. A snippet illustrating the usage of (private) personal registries is shown below

...   
      # Adding private SSH keys (only necessary for accessing private packages and/or 
      # when providing Registry-link in ssh format)
      - uses: webfactory/[email protected]
        with:
          ssh-private-key: |
            ${{ secrets.PRIVATE_DEPLOY_KEY }}
            ${{ secrets.PRIVATE_DEPLOY_KEY2 }}
      - uses: julia-actions/julia-buildpkg@v1
        with:
          localregistry: |
            https://github.com/username/PersonalRegistry.git
            [email protected]:username2/PersonalRegistry2.git
          git_cli: false # = JULIA_PKG_USE_CLI_GIT. Options: true | false (default)
...

For Julia 1.7 and above, the git_cli option can be used to set the JULIA_PKG_USE_CLI_GIT environment flag, for additional control of the SSH configuration used by Pkg to add/dev packages.

julia-buildpkg's People

Contributors

davidanthoff avatar saschamann avatar dependabot[bot] avatar ianbutterworth avatar dilumaluthge avatar fredrikekre avatar dependabot-preview[bot] avatar omus avatar lukasgrunwald avatar octogonapus avatar rikhuijzer avatar tkf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.