Skip to content
Snippets Groups Projects
Select Git revision
  • 2885a00c8f7769aa6c9e99224dddf201ad769cac
  • master default
  • nlf-fixes
  • newton-quadratic-equation-solver
  • nlf-fixes-r
  • nls-fixes
  • sep-fixes
  • sep
  • use-dprior
  • ep-sparse
  • rebase-1
  • parfor
  • reset-seed-in-unit-tests
  • remove-persistent-variables
  • nonlinear-filter-fixes
  • pac-mce-with-composite-target
  • 6.x
  • dprior
  • covariance-quadratic-approximation
  • benchmark-ec
  • kalman_mex
  • 5.5
  • 5.4
  • 5.3
  • 5.2
  • 5.1
  • 5.0
  • 5.0-rc1
  • 4.7-beta3
  • 4.7-beta2
  • 4.7-beta1
  • 4.6.4
  • 4.6.3
  • 4.6.2
  • 4.6.1
  • 4.6.0
  • 4.6.0-rc2
  • 4.6.0-rc1
  • 4.6-beta1
  • 4.5.7
  • 4.5.6
41 results

DynareMain2.cc

Blame
  • Forked from Dynare / dynare
    Source project has a limited visibility.
    create-julia-artifacts-toml 2.15 KiB
    #!/bin/bash
    
    # Creates Julia’s Artifacts.toml for preprocessor binaries.
    # Used by the Gitlab CI file of the preprocessor.
    #
    # Must be given a git commit SHA as first argument, and a base download URL
    # as second argument.
    #
    # In the current directory, there must be a directory whose name is the SHA.
    # This directory must itself contain several directories corresponding to platforms
    # ("linux-i686", "windows-x86_64"…). Each of these directories must contain a
    # dynare-preprocessor.tar.gz file.
    #
    # The Julia executable must be in the path.
    #
    # The Artifacts.toml file is created in directory named after the git commit SHA.
    
    # Copyright © 2021 Dynare Team
    #
    # This file is part of Dynare.
    #
    # Dynare is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # Dynare is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with Dynare.  If not, see <https://www.gnu.org/licenses/>.
    
    set -e
    shopt -s extglob
    
    commit_sha=${1:?}
    base_url=${2:?}
    
    project_dir=$(mktemp --tmpdir -d)
    
    cd "$commit_sha"
    
    for platform in !(Artifacts.toml); do
        os=${platform%-*}
        arch=${platform#*-}
        tarball=${platform}/dynare-preprocessor.tar.gz
        sha256=$(sha256sum "$tarball")
        sha256=${sha256%% *} # Strip filename from output
        git_tree_sha1=$(julia --project="$project_dir" -q -e "import Pkg; Pkg.add([\"Tar\", \"Inflate\"]); using Tar, Inflate; println(Tar.tree_hash(IOBuffer(inflate_gzip(\"$tarball\"))))")
        echo [[dynare-preprocessor]]
        echo os = \"$os\"
        echo arch = \"$arch\"
        if [[ $os == linux ]]; then
    	echo libc = \"glibc\"
        fi
        echo git-tree-sha1 = \"$git_tree_sha1\"
        echo
        echo [[dynare-preprocessor.download]]
        echo sha256 = \"$sha256\"
        echo "url = \"$base_url/$commit_sha/$tarball\""
        echo
        echo
    done > Artifacts.toml