Skip to content

Commit

Permalink
Merge pull request #1 from JuliaFolds2/fixes
Browse files Browse the repository at this point in the history
Prep for re-release
  • Loading branch information
MasonProtter authored Jan 26, 2024
2 parents b8c4108 + d211720 commit 280b49b
Show file tree
Hide file tree
Showing 11 changed files with 626 additions and 661 deletions.
44 changes: 34 additions & 10 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,45 @@
name: CompatHelper

on:
schedule:
- cron: '0 0 * * *'
push:
branches:
- actions/trigger/CompatHelper
- cron: 0 0 * * *
workflow_dispatch:

permissions:
contents: write
pull-requests: write
jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
- name: Check if Julia is already available in the PATH
id: julia_in_path
run: which julia
continue-on-error: true
- name: Install Julia, but only if it is not already available in the PATH
uses: julia-actions/setup-julia@v1
with:
version: '1'
arch: ${{ runner.arch }}
if: steps.julia_in_path.outcome != 'success'
- name: "Add the General registry via Git"
run: |
import Pkg
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add("General")
shell: julia --color=yes {0}
- name: "Install CompatHelper"
run: |
import Pkg
name = "CompatHelper"
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
version = "3"
Pkg.add(; name, uuid, version)
shell: julia --color=yes {0}
- name: "Run CompatHelper"
run: |
import CompatHelper
CompatHelper.main()
shell: julia --color=yes {0}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.SSH_KEY }}
run: julia -e 'using CompatHelper; CompatHelper.main()'
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}
101 changes: 29 additions & 72 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,91 +1,48 @@
name: CI

on:
push:
branches:
- master
tags: '*'
pull_request:

push:
branches: [master]
tags: ['*']
jobs:
test:
runs-on: ubuntu-latest
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version:
- '1.7'
version:
- '1.6'
- '1.5'
- 'nightly'
fail-fast: false
name: Test Julia ${{ matrix.julia-version }}
steps:
- uses: actions/checkout@v2
- name: Setup julia
uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
- run: julia -e 'using Pkg; pkg"add [email protected]"'
- run: julia -e 'using Run; Run.prepare("test/environments/main")'
- run: julia -e 'using Run; Run.test(project="test/environments/main")'
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
with:
file: ./lcov.info
flags: unittests
name: codecov-umbrella

vanilla-test:
runs-on: ubuntu-latest
- '1.9'
- '1' # automatically expands to the latest stable 1.x release of Julia
os:
- ubuntu-latest
arch:
- x64
include:
- os: ubuntu-latest
version: 'nightly'
arch: x64
continue-on-error: true
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
JULIA_NUM_THREADS: "2"
CI: "true"

documenter:
JULIA_NUM_THREADS: 4
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: 1.6
- name: Install Run.jl
run: julia -e 'using Pkg; pkg"add [email protected]"'
- name: Install dependencies
run: julia -e 'using Run; Run.prepare_docs()'
- name: Build and deploy
id: build-and-deploy
if: |
github.event_name == 'push' || (
github.event_name == 'pull_request' &&
!contains(github.head_ref, 'create-pull-request/')
)
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-docdeploy@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.SSH_KEY }}
run: julia -e 'using Run; Run.docs()'
- name: Just build
if: steps.build-and-deploy.outcome == 'skipped'
run: julia -e 'using Run; Run.docs()'

# https://github.com/tkf/julia-code-style-suggesters
code-style:
if: always() && github.event.pull_request
runs-on: ubuntu-latest
steps:
- uses: tkf/julia-code-style-suggesters@v1

# A job that succeeds if and only if all jobs in `test` succeed.
all-success:
if: always() && github.event.pull_request
needs: [test, vanilla-test, documenter, code-style]
runs-on: ubuntu-latest
steps:
# https://github.com/tkf/merge-conclusions-action
- uses: tkf/merge-conclusions-action@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
8 changes: 4 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Folds"
uuid = "41a02a25-b8f0-4f67-bc48-60067656b558"
authors = ["Takafumi Arakaki <[email protected]> and contributors"]
version = "0.2.9-DEV"
version = "0.2.9"

[deps]
Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
Expand All @@ -20,17 +20,17 @@ Transducers = "28d57a85-8fef-5791-bfe6-a80928e7c999"

[compat]
Accessors = "0.1.1"
BangBang = "0.3.30"
BangBang = "0.3.30, 0.4"
Baselet = "0.1"
DefineSingletons = "0.1.1"
ExternalDocstrings = "0.1"
InitialValues = "0.2.10, 0.3"
MicroCollections = "0.1.0"
MicroCollections = "0.1, 0.2"
Referenceables = "0.1.2"
Requires = "0.5, 1.0"
ThreadedScans = "0.1"
Transducers = "0.4.35"
julia = "1.5"
julia = "1.6"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Folds: sequential, threaded, and distributed fold interface for Julia

[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliafolds.github.io/Folds.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://juliafolds.github.io/Folds.jl/dev)
[![CI](https://github.com/JuliaFolds/Folds.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/JuliaFolds/Folds.jl/actions/workflows/ci.yml)
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliafolds2.github.io/Folds.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://juliafolds2.github.io/Folds.jl/dev)
[![CI](https://github.com/JuliaFolds/Folds.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/JuliaFolds2/Folds.jl/actions/workflows/ci.yml)

Folds.jl provides a unified interface for sequential, threaded, and
distributed folds.
Expand All @@ -29,7 +29,7 @@ julia> Folds.sum(y for x in 1:10 if isodd(x) for y in 1:x^2)
4917
```

and [Transducers.jl](https://github.com/JuliaFolds/Transducers.jl):
and [Transducers.jl](https://github.com/JuliaFolds2/Transducers.jl):

```julia
julia> using Transducers
Expand All @@ -44,7 +44,7 @@ Folds.jl interoperates with various packages. For example,
[StructArrays.jl](https://github.com/JuliaArrays/StructArrays.jl) can be used as
an input and/or output:

```julia
```JULIA
julia> using StructArrays

julia> table = StructVector(
Expand All @@ -53,7 +53,7 @@ julia> table = StructVector(
);

julia> Folds.copy(StructVector, (row for row in table if row.x === :a))
3-element StructArray(::Vector{Symbol}, ::Vector{Int64}) with eltype NamedTuple{(:x, :y), Tuple{Symbol, Int64}}:
3-element StructArray(::Vector{Symbol}, ::Vector{Int64}) with eltype @NamedTuple{x::Symbol, y::Int64}:
(x = :a, y = 1)
(x = :a, y = 2)
(x = :a, y = 4)
Expand All @@ -73,6 +73,6 @@ Mean: n=10 | value=5.5

Folds.jl decouples the implementation and the execution mechanism
("executor"). Additional executors can be installed from
[FoldsThreads.jl](https://github.com/JuliaFolds/FoldsThreads.jl),
[FoldsCUDA.jl](https://github.com/JuliaFolds/FoldsCUDA.jl) (rather WIP), and
[FoldsDagger.jl](https://github.com/JuliaFolds/FoldsDagger.jl) (very WIP).
[FoldsThreads.jl](https://github.com/JuliaFolds2/FoldsThreads.jl),
[FoldsCUDA.jl](https://github.com/JuliaFolds2/FoldsCUDA.jl) (rather WIP), and
[FoldsDagger.jl](https://github.com/JuliaFolds2/FoldsDagger.jl) (very WIP).
Loading

0 comments on commit 280b49b

Please sign in to comment.